Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Node-Red
  5. String aufteilen

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.7k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.1k

String aufteilen

Geplant Angeheftet Gesperrt Verschoben Node-Red
141 Beiträge 3 Kommentatoren 12.4k Aufrufe 2 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • H hafo

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

    mickymM Offline
    mickymM Offline
    mickym
    Most Active
    schrieb am zuletzt editiert von
    #70

    @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?

    Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

    H 1 Antwort Letzte Antwort
    0
    • mickymM mickym

      @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 Offline
      H Offline
      hafo
      schrieb am zuletzt editiert von
      #71

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

      mickymM 1 Antwort Letzte Antwort
      0
      • H hafo

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

        mickymM Offline
        mickymM Offline
        mickym
        Most Active
        schrieb am zuletzt editiert von
        #72

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

        Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

        H 1 Antwort Letzte Antwort
        0
        • mickymM mickym

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

          H Offline
          H Offline
          hafo
          schrieb am zuletzt editiert von
          #73

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

          mickymM 1 Antwort Letzte Antwort
          0
          • H hafo

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

            mickymM Offline
            mickymM Offline
            mickym
            Most Active
            schrieb am zuletzt editiert von
            #74

            @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.

            Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

            H 1 Antwort Letzte Antwort
            0
            • mickymM mickym

              @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 Offline
              H Offline
              hafo
              schrieb am zuletzt editiert von
              #75

              @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.

              mickymM 1 Antwort Letzte Antwort
              0
              • H hafo

                @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.

                mickymM Offline
                mickymM Offline
                mickym
                Most Active
                schrieb am zuletzt editiert von mickym
                #76

                @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.

                Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                H 1 Antwort Letzte Antwort
                0
                • mickymM 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 Offline
                  H Offline
                  hafo
                  schrieb am zuletzt editiert von hafo
                  #77

                  @mickym Habe es bereits geändert, ich depp!

                  im vis eingetragen und gespeichert
                  3.jpg

                  es wird alles übernommen
                  1.jpg
                  4.jpg

                  auch mit dem Timer klappts nun
                  2.jpg

                  mickymM 1 Antwort Letzte Antwort
                  0
                  • H hafo

                    @mickym Habe es bereits geändert, ich depp!

                    im vis eingetragen und gespeichert
                    3.jpg

                    es wird alles übernommen
                    1.jpg
                    4.jpg

                    auch mit dem Timer klappts nun
                    2.jpg

                    mickymM Offline
                    mickymM Offline
                    mickym
                    Most Active
                    schrieb am zuletzt editiert von
                    #78

                    @hafo Na super. Dann klappt ja nun alles. Glückwunsch!!!
                    Auf die Idee wäre ich wahrlich erst zuletzt gekommen. Man sollte doch nichts für selbstverständlich nehmen.😉😉😉

                    Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                    H 2 Antworten Letzte Antwort
                    0
                    • mickymM mickym

                      @hafo Na super. Dann klappt ja nun alles. Glückwunsch!!!
                      Auf die Idee wäre ich wahrlich erst zuletzt gekommen. Man sollte doch nichts für selbstverständlich nehmen.😉😉😉

                      H Offline
                      H Offline
                      hafo
                      schrieb am zuletzt editiert von
                      #79

                      @mickym wenn ich etwas falsch mache, dann richtig :muscle:
                      vielen Dank für deine Hilfe.

                      Hier die Dateien falls jemand etwas ähnliches machen möchte.
                      bew1.json
                      bew2.json
                      Ich mache mich nun ans vis, und werde dann den Flow noch mit Sensoren ergänzen.

                      1 Antwort Letzte Antwort
                      0
                      • mickymM mickym

                        @hafo Na super. Dann klappt ja nun alles. Glückwunsch!!!
                        Auf die Idee wäre ich wahrlich erst zuletzt gekommen. Man sollte doch nichts für selbstverständlich nehmen.😉😉😉

                        H Offline
                        H Offline
                        hafo
                        schrieb am zuletzt editiert von
                        #80

                        @mickym so ganz fertig sind wir leider noch nicht.
                        5.jpg
                        Der String wird wild durcheinander gewürfelt. Ich versuche mich gerade am Sort Node, das arbeitet aber nicht so wie ich möchte.
                        Der Rechner übernimmt teilweise auch falsche Werte. Da muss ich mit meinen Rechner Nodes noch arbeiten.

                        mickymM 1 Antwort Letzte Antwort
                        0
                        • H hafo

                          @mickym so ganz fertig sind wir leider noch nicht.
                          5.jpg
                          Der String wird wild durcheinander gewürfelt. Ich versuche mich gerade am Sort Node, das arbeitet aber nicht so wie ich möchte.
                          Der Rechner übernimmt teilweise auch falsche Werte. Da muss ich mit meinen Rechner Nodes noch arbeiten.

                          mickymM Offline
                          mickymM Offline
                          mickym
                          Most Active
                          schrieb am zuletzt editiert von
                          #81

                          @hafo Schau mal in die Kontextdaten, ob da die Tage in der richtigen Reihenfolge stehen.

                          Wenn nicht würde ich

                          1. Die Flow Variable bei jedem Neustart von Node-Red neu initialisieren.
                            55206212-8625-4e64-928a-77a4a1528666-image.png

                          [
                             {
                                 "id": "6ba7ea7c.1a0a74",
                                 "type": "inject",
                                 "z": "4922e7ed.227918",
                                 "name": "Init flow Days",
                                 "props": [
                                     {
                                         "p": "payload"
                                     }
                                 ],
                                 "repeat": "",
                                 "crontab": "",
                                 "once": true,
                                 "onceDelay": 0.1,
                                 "topic": "",
                                 "payload": "{\"1Mo\":false,\"2Di\":false,\"3Mi\":false,\"4Do\":false,\"5Fr\":false,\"6Sa\":false,\"7So\":false}",
                                 "payloadType": "json",
                                 "x": 530,
                                 "y": 2160,
                                 "wires": [
                                     [
                                         "6e1e2d6a.21b184"
                                     ]
                                 ]
                             },
                             {
                                 "id": "6e1e2d6a.21b184",
                                 "type": "change",
                                 "z": "4922e7ed.227918",
                                 "name": "",
                                 "rules": [
                                     {
                                         "t": "set",
                                         "p": "days",
                                         "pt": "flow",
                                         "to": "payload",
                                         "tot": "msg"
                                     }
                                 ],
                                 "action": "",
                                 "property": "",
                                 "from": "",
                                 "to": "",
                                 "reg": false,
                                 "x": 750,
                                 "y": 2160,
                                 "wires": [
                                     []
                                 ]
                             }
                          ]
                          

                          1. In den JOIN Nodes die Anzahl der Nachrichten bis eine Nachricht versendet wird zwingend auf 7 festlegen.

                          edfea48a-4d81-4d5d-a36e-6fe03d14204c-image.png

                          Ggf. muss man diese Node noch resetten, aber erst mal so schauen, ob das geht.

                          Das Wichtigste ist aber dass im Flow-Kontext die richtige Reihenfolge steht. Das war zumindest in der letzten Debugausgabe nicht der Fall.

                          Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                          H 2 Antworten Letzte Antwort
                          0
                          • mickymM mickym

                            @hafo Schau mal in die Kontextdaten, ob da die Tage in der richtigen Reihenfolge stehen.

                            Wenn nicht würde ich

                            1. Die Flow Variable bei jedem Neustart von Node-Red neu initialisieren.
                              55206212-8625-4e64-928a-77a4a1528666-image.png

                            [
                               {
                                   "id": "6ba7ea7c.1a0a74",
                                   "type": "inject",
                                   "z": "4922e7ed.227918",
                                   "name": "Init flow Days",
                                   "props": [
                                       {
                                           "p": "payload"
                                       }
                                   ],
                                   "repeat": "",
                                   "crontab": "",
                                   "once": true,
                                   "onceDelay": 0.1,
                                   "topic": "",
                                   "payload": "{\"1Mo\":false,\"2Di\":false,\"3Mi\":false,\"4Do\":false,\"5Fr\":false,\"6Sa\":false,\"7So\":false}",
                                   "payloadType": "json",
                                   "x": 530,
                                   "y": 2160,
                                   "wires": [
                                       [
                                           "6e1e2d6a.21b184"
                                       ]
                                   ]
                               },
                               {
                                   "id": "6e1e2d6a.21b184",
                                   "type": "change",
                                   "z": "4922e7ed.227918",
                                   "name": "",
                                   "rules": [
                                       {
                                           "t": "set",
                                           "p": "days",
                                           "pt": "flow",
                                           "to": "payload",
                                           "tot": "msg"
                                       }
                                   ],
                                   "action": "",
                                   "property": "",
                                   "from": "",
                                   "to": "",
                                   "reg": false,
                                   "x": 750,
                                   "y": 2160,
                                   "wires": [
                                       []
                                   ]
                               }
                            ]
                            

                            1. In den JOIN Nodes die Anzahl der Nachrichten bis eine Nachricht versendet wird zwingend auf 7 festlegen.

                            edfea48a-4d81-4d5d-a36e-6fe03d14204c-image.png

                            Ggf. muss man diese Node noch resetten, aber erst mal so schauen, ob das geht.

                            Das Wichtigste ist aber dass im Flow-Kontext die richtige Reihenfolge steht. Das war zumindest in der letzten Debugausgabe nicht der Fall.

                            H Offline
                            H Offline
                            hafo
                            schrieb am zuletzt editiert von
                            #82

                            @mickym Ja, so läufts richtig. :crown:

                            mickymM 1 Antwort Letzte Antwort
                            0
                            • mickymM mickym

                              @hafo Schau mal in die Kontextdaten, ob da die Tage in der richtigen Reihenfolge stehen.

                              Wenn nicht würde ich

                              1. Die Flow Variable bei jedem Neustart von Node-Red neu initialisieren.
                                55206212-8625-4e64-928a-77a4a1528666-image.png

                              [
                                 {
                                     "id": "6ba7ea7c.1a0a74",
                                     "type": "inject",
                                     "z": "4922e7ed.227918",
                                     "name": "Init flow Days",
                                     "props": [
                                         {
                                             "p": "payload"
                                         }
                                     ],
                                     "repeat": "",
                                     "crontab": "",
                                     "once": true,
                                     "onceDelay": 0.1,
                                     "topic": "",
                                     "payload": "{\"1Mo\":false,\"2Di\":false,\"3Mi\":false,\"4Do\":false,\"5Fr\":false,\"6Sa\":false,\"7So\":false}",
                                     "payloadType": "json",
                                     "x": 530,
                                     "y": 2160,
                                     "wires": [
                                         [
                                             "6e1e2d6a.21b184"
                                         ]
                                     ]
                                 },
                                 {
                                     "id": "6e1e2d6a.21b184",
                                     "type": "change",
                                     "z": "4922e7ed.227918",
                                     "name": "",
                                     "rules": [
                                         {
                                             "t": "set",
                                             "p": "days",
                                             "pt": "flow",
                                             "to": "payload",
                                             "tot": "msg"
                                         }
                                     ],
                                     "action": "",
                                     "property": "",
                                     "from": "",
                                     "to": "",
                                     "reg": false,
                                     "x": 750,
                                     "y": 2160,
                                     "wires": [
                                         []
                                     ]
                                 }
                              ]
                              

                              1. In den JOIN Nodes die Anzahl der Nachrichten bis eine Nachricht versendet wird zwingend auf 7 festlegen.

                              edfea48a-4d81-4d5d-a36e-6fe03d14204c-image.png

                              Ggf. muss man diese Node noch resetten, aber erst mal so schauen, ob das geht.

                              Das Wichtigste ist aber dass im Flow-Kontext die richtige Reihenfolge steht. Das war zumindest in der letzten Debugausgabe nicht der Fall.

                              H Offline
                              H Offline
                              hafo
                              schrieb am zuletzt editiert von
                              #83

                              @mickym Ich würde noch gerne bei meinen Rechner aufräumen. Es gibt folgende 4 Operationen:

                              1. (Number(msg.payload) - 1) * 60;
                              2. (Number(msg.payload) + Number(msg.min)) * 60000;
                              3. payload x 60000;
                              4. Number(msg.payload) + Number(msg.lauf)

                              Für die Nummer 3 habe ich Testweise den Calculator genommen, die anderen Laufen im Functions Node. Macht es Sinn alle in das Functions Node zu setzen, oder wie macht man das am besten? Mit dem Change Nod habe ich seltsame Resultate erhalten und das Aggregator Node scheint nicht dafür gedacht zu sein.

                              mickymM 1 Antwort Letzte Antwort
                              0
                              • H hafo

                                @mickym Ja, so läufts richtig. :crown:

                                mickymM Offline
                                mickymM Offline
                                mickym
                                Most Active
                                schrieb am zuletzt editiert von mickym
                                #84

                                @hafo Ich habe aber auch gerade mal die sort Node getestet und die funktioniert schon, aber nachdem ich sie nicht genutzt hatte habe ich auch etwas gebraucht.

                                Wenn Du die split Node nicht anfasst - dann kannst Du einfach folgende Sort Node vorne dran hängen. Da Du Deine Datenpunkte ja durchnummeriert hast, bleibt die Reihenfolge.

                                Hier mal eine Demo:

                                2e8b00b1-fc1b-4e1d-96a3-813127a4d707-image.png

                                Mit dieser Inject-Node habe ich Objekt indem die Eigenschaften unsortiert im Objekt stehen

                                33d87b24-04ef-47c4-b038-72903a5bdcb0-image.png

                                Zur Veranschaulichung habe ich in der split Node den key (also die Eigenschaft oder der Name des Datenpunktes in den Topic kopieren lassen). Das braucht man aber nicht, da ich wie Du sieht in der sort Node ein anderes Sortierkriterium genommen habe.

                                Also das dient nur zur Illustration:

                                14e82a5b-0a82-443f-adef-9a736af76330-image.png

                                Die Ausgabe des Split-Nodes ist deshalb auch in der Reihenfolge des Objekts und deshalb durcheinander:

                                e0b4a2c6-d46c-487a-b008-22db7f5b7d20-image.png

                                Die Debug Node nach der Sort Node gibt es in der IMMER richtigen Reihenfolge aus - es wäre also in Deinem Fall die SICHERERE METHODE

                                712db563-a144-4ff9-8108-70565990959d-image.png

                                Was man verstehen muss - dass die Standardeinstellung ein Array sortiert und wir wollen aber eine Nachrichtensequenz und können uns an msg.part.keys zunutze machen, die die split Node automatisch generiert:

                                70eaf246-3360-4614-8b79-7d5e641e968c-image.png

                                so habe ich auch wieder was gelernt.

                                Hier der Flow zum Spielen:

                                [
                                   {
                                       "id": "6e1e2d6a.21b184",
                                       "type": "change",
                                       "z": "4922e7ed.227918",
                                       "name": "",
                                       "rules": [
                                           {
                                               "t": "set",
                                               "p": "days",
                                               "pt": "flow",
                                               "to": "payload",
                                               "tot": "msg"
                                           }
                                       ],
                                       "action": "",
                                       "property": "",
                                       "from": "",
                                       "to": "",
                                       "reg": false,
                                       "x": 940,
                                       "y": 2220,
                                       "wires": [
                                           []
                                       ]
                                   },
                                   {
                                       "id": "d9bf3c45.6eebd",
                                       "type": "sort",
                                       "z": "4922e7ed.227918",
                                       "name": "",
                                       "order": "ascending",
                                       "as_num": false,
                                       "target": "",
                                       "targetType": "seq",
                                       "msgKey": "key",
                                       "msgKeyType": "jsonata",
                                       "seqKey": "parts.key",
                                       "seqKeyType": "msg",
                                       "x": 1110,
                                       "y": 2300,
                                       "wires": [
                                           [
                                               "8074a579.0391a8"
                                           ]
                                       ]
                                   },
                                   {
                                       "id": "37a0fdb1.052192",
                                       "type": "split",
                                       "z": "4922e7ed.227918",
                                       "name": "",
                                       "splt": "\\n",
                                       "spltType": "str",
                                       "arraySplt": 1,
                                       "arraySpltType": "len",
                                       "stream": false,
                                       "addname": "topic",
                                       "x": 950,
                                       "y": 2300,
                                       "wires": [
                                           [
                                               "d9bf3c45.6eebd",
                                               "459d5bbd.053f24"
                                           ]
                                       ]
                                   },
                                   {
                                       "id": "8074a579.0391a8",
                                       "type": "debug",
                                       "z": "4922e7ed.227918",
                                       "name": "sort",
                                       "active": true,
                                       "tosidebar": true,
                                       "console": false,
                                       "tostatus": false,
                                       "complete": "payload",
                                       "targetType": "msg",
                                       "statusVal": "",
                                       "statusType": "auto",
                                       "x": 1330,
                                       "y": 2220,
                                       "wires": []
                                   },
                                   {
                                       "id": "4b8b567.d4b40a8",
                                       "type": "inject",
                                       "z": "4922e7ed.227918",
                                       "name": "Init flow Days",
                                       "props": [
                                           {
                                               "p": "payload"
                                           }
                                       ],
                                       "repeat": "",
                                       "crontab": "",
                                       "once": false,
                                       "onceDelay": 0.1,
                                       "topic": "",
                                       "payload": "{\"7So\":false,\"3Mi\":false,\"5Fr\":false,\"2Di\":false,\"1Mo\":false,\"4Do\":false,\"6Sa\":false}",
                                       "payloadType": "json",
                                       "x": 710,
                                       "y": 2300,
                                       "wires": [
                                           [
                                               "37a0fdb1.052192",
                                               "6e1e2d6a.21b184"
                                           ]
                                       ]
                                   },
                                   {
                                       "id": "459d5bbd.053f24",
                                       "type": "debug",
                                       "z": "4922e7ed.227918",
                                       "name": "split",
                                       "active": false,
                                       "tosidebar": true,
                                       "console": false,
                                       "tostatus": false,
                                       "complete": "payload",
                                       "targetType": "msg",
                                       "statusVal": "",
                                       "statusType": "auto",
                                       "x": 1150,
                                       "y": 2220,
                                       "wires": []
                                   }
                                ]
                                

                                EDIT:
                                Wenn man die sort Node, wie im Standard nutzt, dann sortiert man innerhalb einer Nachricht - zum Beispiel ein Array:
                                60854eb6-c037-4f6f-8a40-d51de944a69b-image.png
                                71391e5e-2092-4ea0-9bce-f05d6aebd80e-image.png

                                Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                                mickymM 1 Antwort Letzte Antwort
                                0
                                • H hafo

                                  @mickym Ich würde noch gerne bei meinen Rechner aufräumen. Es gibt folgende 4 Operationen:

                                  1. (Number(msg.payload) - 1) * 60;
                                  2. (Number(msg.payload) + Number(msg.min)) * 60000;
                                  3. payload x 60000;
                                  4. Number(msg.payload) + Number(msg.lauf)

                                  Für die Nummer 3 habe ich Testweise den Calculator genommen, die anderen Laufen im Functions Node. Macht es Sinn alle in das Functions Node zu setzen, oder wie macht man das am besten? Mit dem Change Nod habe ich seltsame Resultate erhalten und das Aggregator Node scheint nicht dafür gedacht zu sein.

                                  mickymM Offline
                                  mickymM Offline
                                  mickym
                                  Most Active
                                  schrieb am zuletzt editiert von mickym
                                  #85

                                  @hafo sagte in String aufteilen:

                                  @mickym Ich würde noch gerne bei meinen Rechner aufräumen. Es gibt folgende 4 Operationen:

                                  1. (Number(msg.payload) - 1) * 60;
                                  2. (Number(msg.payload) + Number(msg.min)) * 60000;
                                  3. payload x 60000;
                                  4. Number(msg.payload) + Number(msg.lauf)

                                  Für die Nummer 3 habe ich Testweise den Calculator genommen, die anderen Laufen im Functions Node. Macht es Sinn alle in das Functions Node zu setzen, oder wie macht man das am besten? Mit dem Change Nod habe ich seltsame Resultate erhalten und das Aggregator Node scheint nicht dafür gedacht zu sein.

                                  Ehrlich gesagt verstehe ich es nicht.

                                  1. Was macht denn die Aggregator Node nicht, was der Calculator macht?
                                  2. Ja ich würde alle übrigen Rechenoperation mit der Change Node machen.

                                  Gib mir einfach mal eine Inject Node mit
                                  msg.payload, msg.min und msg.lauf
                                  und ich führe Dir die 4 Rechenoperationen in einer Change Node aus und gebe das Ergebnis in der msg.payload aus.

                                  Warum wandelst Du alles in eine Nummer / Zahl um, hast Du etwa den Haken in der Adapterkonfig nicht rausgemacht?
                                  Das sage ich jedem immer als aller Erstes!!!!

                                  Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                                  H 1 Antwort Letzte Antwort
                                  0
                                  • mickymM mickym

                                    @hafo sagte in String aufteilen:

                                    @mickym Ich würde noch gerne bei meinen Rechner aufräumen. Es gibt folgende 4 Operationen:

                                    1. (Number(msg.payload) - 1) * 60;
                                    2. (Number(msg.payload) + Number(msg.min)) * 60000;
                                    3. payload x 60000;
                                    4. Number(msg.payload) + Number(msg.lauf)

                                    Für die Nummer 3 habe ich Testweise den Calculator genommen, die anderen Laufen im Functions Node. Macht es Sinn alle in das Functions Node zu setzen, oder wie macht man das am besten? Mit dem Change Nod habe ich seltsame Resultate erhalten und das Aggregator Node scheint nicht dafür gedacht zu sein.

                                    Ehrlich gesagt verstehe ich es nicht.

                                    1. Was macht denn die Aggregator Node nicht, was der Calculator macht?
                                    2. Ja ich würde alle übrigen Rechenoperation mit der Change Node machen.

                                    Gib mir einfach mal eine Inject Node mit
                                    msg.payload, msg.min und msg.lauf
                                    und ich führe Dir die 4 Rechenoperationen in einer Change Node aus und gebe das Ergebnis in der msg.payload aus.

                                    Warum wandelst Du alles in eine Nummer / Zahl um, hast Du etwa den Haken in der Adapterkonfig nicht rausgemacht?
                                    Das sage ich jedem immer als aller Erstes!!!!

                                    H Offline
                                    H Offline
                                    hafo
                                    schrieb am zuletzt editiert von
                                    #86

                                    @mickym Hier das inject

                                    [
                                       {
                                           "id": "5a297e8e.abb9d8",
                                           "type": "inject",
                                           "z": "f70e8494.8c2a98",
                                           "name": "Payload",
                                           "props": [
                                               {
                                                   "p": "payload"
                                               },
                                               {
                                                   "p": "min",
                                                   "v": "45",
                                                   "vt": "num"
                                               },
                                               {
                                                   "p": "lauf",
                                                   "v": "20",
                                                   "vt": "num"
                                               }
                                           ],
                                           "repeat": "",
                                           "crontab": "",
                                           "once": false,
                                           "onceDelay": 0.1,
                                           "topic": "",
                                           "payload": "8",
                                           "payloadType": "num",
                                           "x": 240,
                                           "y": 360,
                                           "wires": [
                                               [
                                                   "7f2b9df4.d30d04",
                                                   "d45a1c2a.6a7508",
                                                   "c93fa4d4.3573a"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "7f2b9df4.d30d04",
                                           "type": "debug",
                                           "z": "f70e8494.8c2a98",
                                           "name": "",
                                           "active": true,
                                           "tosidebar": true,
                                           "console": false,
                                           "tostatus": false,
                                           "complete": "false",
                                           "statusVal": "",
                                           "statusType": "auto",
                                           "x": 460,
                                           "y": 300,
                                           "wires": []
                                       },
                                       {
                                           "id": "d45a1c2a.6a7508",
                                           "type": "debug",
                                           "z": "f70e8494.8c2a98",
                                           "name": "",
                                           "active": true,
                                           "tosidebar": true,
                                           "console": false,
                                           "tostatus": false,
                                           "complete": "min",
                                           "targetType": "msg",
                                           "statusVal": "",
                                           "statusType": "auto",
                                           "x": 470,
                                           "y": 360,
                                           "wires": []
                                       },
                                       {
                                           "id": "c93fa4d4.3573a",
                                           "type": "debug",
                                           "z": "f70e8494.8c2a98",
                                           "name": "",
                                           "active": true,
                                           "tosidebar": true,
                                           "console": false,
                                           "tostatus": false,
                                           "complete": "lauf",
                                           "targetType": "msg",
                                           "statusVal": "",
                                           "statusType": "auto",
                                           "x": 460,
                                           "y": 400,
                                           "wires": []
                                       }
                                    ]
                                    


                                    Ich habe im Changenod einmal Payload * 60000 getestet und ein etwas seltsames Resultat erhalten.

                                    Ich habe gerade keine Ahnung was du mit dem Haken in der Adapterkonfig meinst.
                                    Gemäss Beschreibung dient das Aggregator Node eher zum sammeln von Nachrichten über einen längeren Zeitraum.

                                    mickymM 1 Antwort Letzte Antwort
                                    0
                                    • mickymM mickym

                                      @hafo Ich habe aber auch gerade mal die sort Node getestet und die funktioniert schon, aber nachdem ich sie nicht genutzt hatte habe ich auch etwas gebraucht.

                                      Wenn Du die split Node nicht anfasst - dann kannst Du einfach folgende Sort Node vorne dran hängen. Da Du Deine Datenpunkte ja durchnummeriert hast, bleibt die Reihenfolge.

                                      Hier mal eine Demo:

                                      2e8b00b1-fc1b-4e1d-96a3-813127a4d707-image.png

                                      Mit dieser Inject-Node habe ich Objekt indem die Eigenschaften unsortiert im Objekt stehen

                                      33d87b24-04ef-47c4-b038-72903a5bdcb0-image.png

                                      Zur Veranschaulichung habe ich in der split Node den key (also die Eigenschaft oder der Name des Datenpunktes in den Topic kopieren lassen). Das braucht man aber nicht, da ich wie Du sieht in der sort Node ein anderes Sortierkriterium genommen habe.

                                      Also das dient nur zur Illustration:

                                      14e82a5b-0a82-443f-adef-9a736af76330-image.png

                                      Die Ausgabe des Split-Nodes ist deshalb auch in der Reihenfolge des Objekts und deshalb durcheinander:

                                      e0b4a2c6-d46c-487a-b008-22db7f5b7d20-image.png

                                      Die Debug Node nach der Sort Node gibt es in der IMMER richtigen Reihenfolge aus - es wäre also in Deinem Fall die SICHERERE METHODE

                                      712db563-a144-4ff9-8108-70565990959d-image.png

                                      Was man verstehen muss - dass die Standardeinstellung ein Array sortiert und wir wollen aber eine Nachrichtensequenz und können uns an msg.part.keys zunutze machen, die die split Node automatisch generiert:

                                      70eaf246-3360-4614-8b79-7d5e641e968c-image.png

                                      so habe ich auch wieder was gelernt.

                                      Hier der Flow zum Spielen:

                                      [
                                         {
                                             "id": "6e1e2d6a.21b184",
                                             "type": "change",
                                             "z": "4922e7ed.227918",
                                             "name": "",
                                             "rules": [
                                                 {
                                                     "t": "set",
                                                     "p": "days",
                                                     "pt": "flow",
                                                     "to": "payload",
                                                     "tot": "msg"
                                                 }
                                             ],
                                             "action": "",
                                             "property": "",
                                             "from": "",
                                             "to": "",
                                             "reg": false,
                                             "x": 940,
                                             "y": 2220,
                                             "wires": [
                                                 []
                                             ]
                                         },
                                         {
                                             "id": "d9bf3c45.6eebd",
                                             "type": "sort",
                                             "z": "4922e7ed.227918",
                                             "name": "",
                                             "order": "ascending",
                                             "as_num": false,
                                             "target": "",
                                             "targetType": "seq",
                                             "msgKey": "key",
                                             "msgKeyType": "jsonata",
                                             "seqKey": "parts.key",
                                             "seqKeyType": "msg",
                                             "x": 1110,
                                             "y": 2300,
                                             "wires": [
                                                 [
                                                     "8074a579.0391a8"
                                                 ]
                                             ]
                                         },
                                         {
                                             "id": "37a0fdb1.052192",
                                             "type": "split",
                                             "z": "4922e7ed.227918",
                                             "name": "",
                                             "splt": "\\n",
                                             "spltType": "str",
                                             "arraySplt": 1,
                                             "arraySpltType": "len",
                                             "stream": false,
                                             "addname": "topic",
                                             "x": 950,
                                             "y": 2300,
                                             "wires": [
                                                 [
                                                     "d9bf3c45.6eebd",
                                                     "459d5bbd.053f24"
                                                 ]
                                             ]
                                         },
                                         {
                                             "id": "8074a579.0391a8",
                                             "type": "debug",
                                             "z": "4922e7ed.227918",
                                             "name": "sort",
                                             "active": true,
                                             "tosidebar": true,
                                             "console": false,
                                             "tostatus": false,
                                             "complete": "payload",
                                             "targetType": "msg",
                                             "statusVal": "",
                                             "statusType": "auto",
                                             "x": 1330,
                                             "y": 2220,
                                             "wires": []
                                         },
                                         {
                                             "id": "4b8b567.d4b40a8",
                                             "type": "inject",
                                             "z": "4922e7ed.227918",
                                             "name": "Init flow Days",
                                             "props": [
                                                 {
                                                     "p": "payload"
                                                 }
                                             ],
                                             "repeat": "",
                                             "crontab": "",
                                             "once": false,
                                             "onceDelay": 0.1,
                                             "topic": "",
                                             "payload": "{\"7So\":false,\"3Mi\":false,\"5Fr\":false,\"2Di\":false,\"1Mo\":false,\"4Do\":false,\"6Sa\":false}",
                                             "payloadType": "json",
                                             "x": 710,
                                             "y": 2300,
                                             "wires": [
                                                 [
                                                     "37a0fdb1.052192",
                                                     "6e1e2d6a.21b184"
                                                 ]
                                             ]
                                         },
                                         {
                                             "id": "459d5bbd.053f24",
                                             "type": "debug",
                                             "z": "4922e7ed.227918",
                                             "name": "split",
                                             "active": false,
                                             "tosidebar": true,
                                             "console": false,
                                             "tostatus": false,
                                             "complete": "payload",
                                             "targetType": "msg",
                                             "statusVal": "",
                                             "statusType": "auto",
                                             "x": 1150,
                                             "y": 2220,
                                             "wires": []
                                         }
                                      ]
                                      

                                      EDIT:
                                      Wenn man die sort Node, wie im Standard nutzt, dann sortiert man innerhalb einer Nachricht - zum Beispiel ein Array:
                                      60854eb6-c037-4f6f-8a40-d51de944a69b-image.png
                                      71391e5e-2092-4ea0-9bce-f05d6aebd80e-image.png

                                      mickymM Offline
                                      mickymM Offline
                                      mickym
                                      Most Active
                                      schrieb am zuletzt editiert von
                                      #87

                                      @hafo

                                      Ich habe noch ein bisschen mit der sort Node rumgespielt und dabei ein paar ganz gute Erkenntnisse gewonnen. Wenn Du willst dann poste ich sie hier mal im Thread - später. ;)

                                      Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                                      H mickymM 2 Antworten Letzte Antwort
                                      0
                                      • H hafo

                                        @mickym Hier das inject

                                        [
                                           {
                                               "id": "5a297e8e.abb9d8",
                                               "type": "inject",
                                               "z": "f70e8494.8c2a98",
                                               "name": "Payload",
                                               "props": [
                                                   {
                                                       "p": "payload"
                                                   },
                                                   {
                                                       "p": "min",
                                                       "v": "45",
                                                       "vt": "num"
                                                   },
                                                   {
                                                       "p": "lauf",
                                                       "v": "20",
                                                       "vt": "num"
                                                   }
                                               ],
                                               "repeat": "",
                                               "crontab": "",
                                               "once": false,
                                               "onceDelay": 0.1,
                                               "topic": "",
                                               "payload": "8",
                                               "payloadType": "num",
                                               "x": 240,
                                               "y": 360,
                                               "wires": [
                                                   [
                                                       "7f2b9df4.d30d04",
                                                       "d45a1c2a.6a7508",
                                                       "c93fa4d4.3573a"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "7f2b9df4.d30d04",
                                               "type": "debug",
                                               "z": "f70e8494.8c2a98",
                                               "name": "",
                                               "active": true,
                                               "tosidebar": true,
                                               "console": false,
                                               "tostatus": false,
                                               "complete": "false",
                                               "statusVal": "",
                                               "statusType": "auto",
                                               "x": 460,
                                               "y": 300,
                                               "wires": []
                                           },
                                           {
                                               "id": "d45a1c2a.6a7508",
                                               "type": "debug",
                                               "z": "f70e8494.8c2a98",
                                               "name": "",
                                               "active": true,
                                               "tosidebar": true,
                                               "console": false,
                                               "tostatus": false,
                                               "complete": "min",
                                               "targetType": "msg",
                                               "statusVal": "",
                                               "statusType": "auto",
                                               "x": 470,
                                               "y": 360,
                                               "wires": []
                                           },
                                           {
                                               "id": "c93fa4d4.3573a",
                                               "type": "debug",
                                               "z": "f70e8494.8c2a98",
                                               "name": "",
                                               "active": true,
                                               "tosidebar": true,
                                               "console": false,
                                               "tostatus": false,
                                               "complete": "lauf",
                                               "targetType": "msg",
                                               "statusVal": "",
                                               "statusType": "auto",
                                               "x": 460,
                                               "y": 400,
                                               "wires": []
                                           }
                                        ]
                                        


                                        Ich habe im Changenod einmal Payload * 60000 getestet und ein etwas seltsames Resultat erhalten.

                                        Ich habe gerade keine Ahnung was du mit dem Haken in der Adapterkonfig meinst.
                                        Gemäss Beschreibung dient das Aggregator Node eher zum sammeln von Nachrichten über einen längeren Zeitraum.

                                        mickymM Offline
                                        mickymM Offline
                                        mickym
                                        Most Active
                                        schrieb am zuletzt editiert von
                                        #88

                                        @hafo sagte in String aufteilen:

                                        @mickym Hier das inject

                                        [
                                           {
                                               "id": "5a297e8e.abb9d8",
                                               "type": "inject",
                                               "z": "f70e8494.8c2a98",
                                               "name": "Payload",
                                               "props": [
                                                   {
                                                       "p": "payload"
                                                   },
                                                   {
                                                       "p": "min",
                                                       "v": "45",
                                                       "vt": "num"
                                                   },
                                                   {
                                                       "p": "lauf",
                                                       "v": "20",
                                                       "vt": "num"
                                                   }
                                               ],
                                               "repeat": "",
                                               "crontab": "",
                                               "once": false,
                                               "onceDelay": 0.1,
                                               "topic": "",
                                               "payload": "8",
                                               "payloadType": "num",
                                               "x": 240,
                                               "y": 360,
                                               "wires": [
                                                   [
                                                       "7f2b9df4.d30d04",
                                                       "d45a1c2a.6a7508",
                                                       "c93fa4d4.3573a"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "7f2b9df4.d30d04",
                                               "type": "debug",
                                               "z": "f70e8494.8c2a98",
                                               "name": "",
                                               "active": true,
                                               "tosidebar": true,
                                               "console": false,
                                               "tostatus": false,
                                               "complete": "false",
                                               "statusVal": "",
                                               "statusType": "auto",
                                               "x": 460,
                                               "y": 300,
                                               "wires": []
                                           },
                                           {
                                               "id": "d45a1c2a.6a7508",
                                               "type": "debug",
                                               "z": "f70e8494.8c2a98",
                                               "name": "",
                                               "active": true,
                                               "tosidebar": true,
                                               "console": false,
                                               "tostatus": false,
                                               "complete": "min",
                                               "targetType": "msg",
                                               "statusVal": "",
                                               "statusType": "auto",
                                               "x": 470,
                                               "y": 360,
                                               "wires": []
                                           },
                                           {
                                               "id": "c93fa4d4.3573a",
                                               "type": "debug",
                                               "z": "f70e8494.8c2a98",
                                               "name": "",
                                               "active": true,
                                               "tosidebar": true,
                                               "console": false,
                                               "tostatus": false,
                                               "complete": "lauf",
                                               "targetType": "msg",
                                               "statusVal": "",
                                               "statusType": "auto",
                                               "x": 460,
                                               "y": 400,
                                               "wires": []
                                           }
                                        ]
                                        


                                        Ich habe im Changenod einmal Payload * 60000 getestet und ein etwas seltsames Resultat erhalten.

                                        Ich habe gerade keine Ahnung was du mit dem Haken in der Adapterkonfig meinst.
                                        Gemäss Beschreibung dient das Aggregator Node eher zum sammeln von Nachrichten über einen längeren Zeitraum.

                                        Und damit führe ich jetzt die 4 Rechenoperationen von unten aus?

                                        Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                                        1 Antwort Letzte Antwort
                                        0
                                        • mickymM mickym

                                          @hafo

                                          Ich habe noch ein bisschen mit der sort Node rumgespielt und dabei ein paar ganz gute Erkenntnisse gewonnen. Wenn Du willst dann poste ich sie hier mal im Thread - später. ;)

                                          H Offline
                                          H Offline
                                          hafo
                                          schrieb am zuletzt editiert von
                                          #89

                                          @mickym Genau, damit bin ich gerade fertig geworden. Ich habe nun den Flow gelöscht welcher die Flow Variable bei einem Neustart neu initialisiert. Aber der String wird immer noch richtig generiert, von daher habe ich das Sort Node einfach zum sicher sein eingebaut.

                                          H 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          563

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe