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. String aufteilen

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    String aufteilen

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

      @mickym genau, ich habe nach einer endlosschleife gesucht.
      Aktuell funktioniert es wieder, die Objekte werden korrekt aktualisiert. Nun schaue ich das mit den Tagen nochmals an.

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

        @hafo Schleife gefunden! wenn ich das Debug Node an das Join Node hänge, dann kommt nach dem Speichern unendlich viel mal "false" raus

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

          @hafo Na ok - das sind verschiedene paar Stiefel. Wenn aber in den Debug-Nodes was ankommt - wäre die nächste Frage ob die Strings in den entsprechenden Tomate_Tage etc geschrieben wird.

          Ist dies der Fall, dann liegt es an Deinem Timer- Flow - aber das ist dann eine andere Baustelle - ich hab halt Deine Nodes nicht in meinem System installiert:

          70c7bcbb-e14d-49b5-a469-84d449a7c11f-image.png

          Deshalb kann ich hier die Logik nicht beurteilen.

          Ich galube ich habe aber einen gravierenden Fehler entdeckt.

          Ich galube nicht dass Dein ui_timer so einen String braucht. 😉

          {"timers":[{"starttime":{{payload.tomstart}},"days":[{{payload.tomtag}}],"output":"0","endtime":{{payload.tomend}}}],"settings":{"disabledDevices":[]}}

          Das ist ein JSON String - ich denke aber eher, dass der ui_time Scheduler eine Objekt benötigt.

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

            @mickym Ich habe gesehen dass man auch mit den Change Nodes mit jsonata Rechnen kann. Ich werde vielleicht das einmal testen.
            Der Timer funktioniert wenn ich ihn auf diese Art füttere. Die Änderungen im Vis sehe ich nach dem Speichern im Node Red Dashboard. Ausser die Tage...

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

              @hafo sagte in String aufteilen:

              @hafo Schleife gefunden! wenn ich das Debug Node an das Join Node hänge, dann kommt nach dem Speichern unendlich viel mal "false" raus

              Dann unterbrich mal die Verbindung zu der out-Node und schau ob die Endlosschleife weiter bestehen bliebt.

              Ja mit den Change Nodes kannst auch Rechnen. Wie gesagt es gibt nur noch wenige Situationen, wo ich eine Function Node brauche.
              Als nächstes wäre zu prüfen, was aus den Split Nodes rauskommt.

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

                @mickym Ich muss da etwas verbockt haben

                [
                   {
                       "id": "82dfdd05.4d8e1",
                       "type": "change",
                       "z": "4524d790.7edb8",
                       "name": "",
                       "rules": [
                           {
                               "t": "set",
                               "p": "payload",
                               "pt": "msg",
                               "to": "days",
                               "tot": "flow"
                           }
                       ],
                       "action": "",
                       "property": "",
                       "from": "",
                       "to": "",
                       "reg": false,
                       "x": 1070,
                       "y": 1100,
                       "wires": [
                           [
                               "5317be7b.ef4338"
                           ]
                       ]
                   },
                   {
                       "id": "e7dc8e38.b0003",
                       "type": "ioBroker out",
                       "z": "4524d790.7edb8",
                       "name": "Tomaten Tage",
                       "topic": "0_userdata.0.Bewässerung.Tomaten_Tage",
                       "ack": "false",
                       "autoCreate": "false",
                       "stateName": "",
                       "role": "",
                       "payloadType": "",
                       "readonly": "",
                       "stateUnit": "",
                       "stateMin": "",
                       "stateMax": "",
                       "x": 1980,
                       "y": 1100,
                       "wires": []
                   },
                   {
                       "id": "4760a6ff.969fe8",
                       "type": "split",
                       "z": "4524d790.7edb8",
                       "name": "",
                       "splt": "\\n",
                       "spltType": "str",
                       "arraySplt": 1,
                       "arraySpltType": "len",
                       "stream": false,
                       "addname": "",
                       "x": 1430,
                       "y": 1100,
                       "wires": [
                           [
                               "29b86736.dbc0f8"
                           ]
                       ]
                   },
                   {
                       "id": "cb07faa.5e09e08",
                       "type": "join",
                       "z": "4524d790.7edb8",
                       "name": "",
                       "mode": "custom",
                       "build": "string",
                       "property": "payload",
                       "propertyType": "msg",
                       "key": "topic",
                       "joiner": ",",
                       "joinerType": "str",
                       "accumulate": false,
                       "timeout": "",
                       "count": "",
                       "reduceRight": false,
                       "reduceExp": "",
                       "reduceInit": "",
                       "reduceInitType": "",
                       "reduceFixup": "",
                       "x": 1790,
                       "y": 1100,
                       "wires": [
                           [
                               "e7dc8e38.b0003",
                               "d22a9254.04dc08"
                           ]
                       ]
                   },
                   {
                       "id": "29b86736.dbc0f8",
                       "type": "change",
                       "z": "4524d790.7edb8",
                       "name": "",
                       "rules": [
                           {
                               "t": "change",
                               "p": "payload",
                               "pt": "msg",
                               "from": "true",
                               "fromt": "bool",
                               "to": "1",
                               "tot": "str"
                           },
                           {
                               "t": "change",
                               "p": "payload",
                               "pt": "msg",
                               "from": "false",
                               "fromt": "bool",
                               "to": "0",
                               "tot": "str"
                           }
                       ],
                       "action": "",
                       "property": "",
                       "from": "",
                       "to": "",
                       "reg": false,
                       "x": 1610,
                       "y": 1100,
                       "wires": [
                           [
                               "cb07faa.5e09e08"
                           ]
                       ]
                   },
                   {
                       "id": "5317be7b.ef4338",
                       "type": "change",
                       "z": "4524d790.7edb8",
                       "name": "",
                       "rules": [
                           {
                               "t": "set",
                               "p": "topic",
                               "pt": "msg",
                               "to": "0_userdata.0.Bewässerung.Tomaten_Tage",
                               "tot": "str"
                           }
                       ],
                       "action": "",
                       "property": "",
                       "from": "",
                       "to": "",
                       "reg": false,
                       "x": 1280,
                       "y": 1100,
                       "wires": [
                           [
                               "4760a6ff.969fe8"
                           ]
                       ]
                   },
                   {
                       "id": "d22a9254.04dc08",
                       "type": "debug",
                       "z": "4524d790.7edb8",
                       "name": "",
                       "active": true,
                       "tosidebar": true,
                       "console": false,
                       "tostatus": false,
                       "complete": "false",
                       "statusVal": "",
                       "statusType": "auto",
                       "x": 1970,
                       "y": 1180,
                       "wires": []
                   }
                ]
                


                1.jpg

                Das Debug Nod läuft auch über wenn ich einen anderen Punkt speichere, da sollte dieser Strang doch gar nicht auslösen.

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

                  @mickym Ja, es läuft auch Rund ohne die out Node. Das hat keinen Einfluss.
                  Aus der Split Node kommt dasselbe raus "false"

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

                    @hafo Unterbrich mal die Verbindung zur iobroker-Out Node und schau ob es dann aufhört. Wenn nicht dann triggert irgendwas anderes dauernd.

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

                      @mickym Das habe ich schon gemacht, bringt keine Änderung

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

                        @hafo sagte in String aufteilen:

                        @mickym Ja, es läuft auch Rund ohne die out Node. Das hat keinen Einfluss.
                        Aus der Split Node kommt dasselbe raus "false"

                        Dann stimmt was an Deinem Trigger nicht. Der ist mir eh nicht koscher mit dem false und true usw. Im Prinzip sollte das ja ein Button sein. Dann Eingangstrigger stoppen.

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

                          @mickym Es fängt immer erst nach dem Speichern an und hört erst auf wenn ich den Flow leicht ändere und neu übernehme.

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

                            @hafo Ja dann feuert was an Deinem Trigger. Mach mal nur 1 Inject Node dran und lös einmal manuell aus mit true und schau, ob dann auch nur 1 Nachricht erzeugt wird.

                            d1e15c44-8365-42c9-a755-b0591d9a22f6-image.png

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

                              @mickym Interessant, auf diese Art wird der Strang mit dem Change Nod gar nicht ausgelöst.

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

                                @hafo sagte in String aufteilen:

                                @mickym Interessant, auf diese Art wird der Strang mit dem Change Nod gar nicht ausgelöst.

                                Du triggerst die Inject Node manuell und es kommt gar nichts????
                                Dann hänge eine Debug Node an die get Node - da muss ja in jedem Fall was rauskommen?

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

                                  @mickym Die iobroker get Nodes werden ausgelesen, bei den anderen geht nichts
                                  1.jpg

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

                                    @hafo Unterbrich bitte mal die Verbindung von der Trigger Node - so dass nur die Inject Node triggert.

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

                                      @mickym habe ich gemacht, ändert nichts.
                                      Für mich reicht es für heute. Vielen Dank für deinen Einsatz und gute Nacht.

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

                                        @hafo OK - dann halt Schritt für Schritt vorgehen. Die nächste Node wird natürlich nur gefüllt, wenn die Flow Variable gefüllt ist usw.

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

                                          @mickym müssen die Flows im selben Tab sein? Wenn ich den Tab offen habe in welchem die Variable gebildet wird, wird sie mir angezeigt. Im Tab wo sie ausgelesen werde sollte aber nicht.

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

                                            @hafo Na dann ist es kein Wunder. Ein Flow ist ein Tab und eine Flowvariable gilt nur für einen Flow und somit für einen Tab. Entweder Du bringst Deine Flows auf einen Tab, anderenfalls musst Du halt alles in Globale Variablen speichern. Die haben dann in allen Tabs Gültigkeit.

                                            Tipp: Nutze die 4 Icons unten rechts im Hauptfenster um Dich innerhalb eines Flows / Tabs zu bewegen oder um größere Teil Deines Flows zu verschieben oder zu bewegen. Außerdem rufe ich Node red immer aus den Kacheln auf, dann macht sich im Browser ein eigener <tab auf, das bringt auch noch etwas Fläche.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            818
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            3
                                            141
                                            8103
                                            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