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. Mehrere Objektwerte in CSV schreiben *gelöst*

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Mehrere Objektwerte in CSV schreiben *gelöst*

    This topic has been deleted. Only users with topic management privileges can see it.
    • surfer09
      surfer09 @bahnuhr last edited by surfer09

      @bahnuhr sagte in Mehrere Objektwerte in CSV schreiben:

      @surfer09

      Warum noch ein weiterer thread ?

      Hallo @bahnuhr,
      ich hatte mit @mickym schon geschrieben und er meinte, ich sollte einen eigenen Thread dafür erstellen. Bei der anderen Diskussion ging es nicht um NodeRed.

      bahnuhr 1 Reply Last reply Reply Quote 0
      • bahnuhr
        bahnuhr Forum Testing Most Active @surfer09 last edited by

        @surfer09 sagte in Mehrere Objektwerte in CSV schreiben:

        @bahnuhr sagte in Mehrere Objektwerte in CSV schreiben:

        @surfer09

        Warum noch ein weiterer thread ?

        Hallo @bahnuhr,
        ich hatte mit mickym schon geschrieben und er meinte, ich sollte einen eigenen Thread dafür erstellen. Bei der anderen Diskussion ging es nicht um NodeRed.

        versteh ich nicht.
        Hier steht auch nichts von nodered.

        Aber wenn du meinst.
        Bin jetzt raus hier.

        surfer09 1 Reply Last reply Reply Quote 0
        • surfer09
          surfer09 @bahnuhr last edited by surfer09

          @bahnuhr ?? Ich bin doch im NodeRed Unterforum? Um was sollte es denn sonst gehen? Aber trotzdem Danke für dein Java Skript!

          1 Reply Last reply Reply Quote 0
          • Homoran
            Homoran Global Moderator Administrators @bahnuhr last edited by Homoran

            @bahnuhr sagte in Mehrere Objektwerte in CSV schreiben:

            Warum noch ein weiterer thread ?

            weil es hier um node-red geht

            Screenshot_20240312-211214_Firefox.jpg

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

              OK - ich habe Deinen Flow importiert.

              bcda536b-21bb-4ce9-9aae-7ad46182569d-image.png

              Das ist eigentlich ganz easy. Du musst halt alles in einem Objekt sammeln. Nachdem Deine Zeilen ja wohl alle Daten enthalten sollen - gehe ich nicht davon aus, dass Du warten möchtest bis jeder Wert triggert?

              Du könntest dann selbst triggern und alle Werte sammeln, die Du in eine Zeile schreiben willst. Oder was willst Du? Aber wie gesagt erst musst Du Dir überlegen, wann Du eine Zeile schreiben möchtest. Du kannst natürlich auch jedesmal eine Zeile schreiben, wenn sich nur ein Wert geändert hat.

              Wenn die Werte alle über eine Wildcard sammeln kannst, dann kannst Du auch eine list Node verwenden. Wie sehen denn Deine Daten aus?

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

                @mickym Genau, der hintere Teil mit der Datei wird sich vermutlich nicht ändern. Nur ich bin jetzt total überfordert wie und wo ich die 3 Werte unterbringe. Alle 3 Datenpunkte werden mit Blockly um 23:59 mit den aktuellen Werte überschrieben. Am besten wäre, wenn die Werte dann kurz danach in die CSV geschossen werden.
                Ich benötige Spalte 1 Datum/Uhrzeit der Übertragung, Spalte 2 Wert1, Spalte 3 Wert2, Spalte 4 Wert3. Die Werte sind alles Dezimalwerte mit 2 Nachkommastellen wenn das wichtig ist.

                Müssen diese beiden Kollegen dann pro Datenpunkt angelegt werden?

                IMG_0071.jpeg

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

                  @surfer09 Ja genau - wenn die 3 DP zur gleichen Zeit geschrieben werden, dann ist es am Einfachsten Du kopierst diese 2 Node noch 2 mal mit unterschiedlichen Imput und topic

                  ea8bcdb2-3232-4f71-9da7-54b368e1747b-image.png

                  Du musst nur dafür Sorge tragen, dass der topic dann Deinen Spalten entspricht unt unterschiedlich ist.

                  In der JOIN Node

                  5b28a877-4f1d-4bf4-9162-e7df18c416cd-image.png

                  machst Du den Haken raus, dass jede nachfolgende Antwort geschrieben wird. Und setzt die Anzahl auf 3 - dann muss von jeder IN Node ein Wert kommen - bevor der Flow weitergeht. Es wird also gewartet bis alle 3 Werte aktualisiert wurden.

                  In der nachfolgenden Change NOde musst dann nur noch die beiden Spalten in msg.columns der beiden anderen Werte einfügen:

                  fd019536-f28b-4b3f-9403-76bdb6c16189-image.png

                  Diese müssen mit den topics matchen.

                  Das war es dann auch schon.

                  Um das Ganze zu testen, musst du zumindest alle 3 Werte einmal aktualisieren - kannst du auch in der Objektansicht des iobrokers machen, indem du den Wert nochmal schreibst.

                  surfer09 1 Reply Last reply Reply Quote 1
                  • surfer09
                    surfer09 @mickym last edited by surfer09

                    @mickym Danke für diese tolle Anleitung! 🙂 Ich habe jetzt allerdings noch eine Kleinigkeit.

                    In der erzeugten Datei fehlen die Spaltenüberschriften:

                    mstsc_0vRwHSZY77.jpg

                    Eigentlich hatte ich doch definiert?!

                    [
                        {
                            "id": "1f2e3e76bc22eaf5",
                            "type": "tab",
                            "label": "Stromverbrauch Übersicht",
                            "disabled": false,
                            "info": "",
                            "env": []
                        },
                        {
                            "id": "c89470695baf12cc",
                            "type": "ioBroker in",
                            "z": "1f2e3e76bc22eaf5",
                            "name": "Gestriger-Stromverbrauch-inkl-Netzbezug",
                            "attrname": "",
                            "topic": "0_userdata.0.PV-Anlage.Gestriger-Stromverbrauch-inkl-Netzbezug",
                            "payloadType": "value",
                            "onlyack": "",
                            "func": "all",
                            "gap": "",
                            "fireOnStart": "false",
                            "outFormat": "MQTT",
                            "x": 420,
                            "y": 240,
                            "wires": [
                                [
                                    "f66599290600f4d8"
                                ]
                            ]
                        },
                        {
                            "id": "cc9f98ec38dad97b",
                            "type": "file",
                            "z": "1f2e3e76bc22eaf5",
                            "name": "",
                            "filename": "I:\\CSV\\Stromverbrauch_Übersicht.csv",
                            "filenameType": "str",
                            "appendNewline": false,
                            "createDir": false,
                            "overwriteFile": "false",
                            "encoding": "cp1252",
                            "x": 2910,
                            "y": 320,
                            "wires": [
                                []
                            ]
                        },
                        {
                            "id": "439d2a3a5f5b523d",
                            "type": "csv",
                            "z": "1f2e3e76bc22eaf5",
                            "name": "",
                            "sep": ";",
                            "hdrin": "",
                            "hdrout": "none",
                            "multi": "one",
                            "ret": "\\r\\n",
                            "temp": "",
                            "skip": "0",
                            "strings": true,
                            "include_empty_strings": "",
                            "include_null_values": "",
                            "x": 2220,
                            "y": 320,
                            "wires": [
                                [
                                    "e05b34f6096c6b4d"
                                ]
                            ]
                        },
                        {
                            "id": "dc242a92a7abcdd9",
                            "type": "change",
                            "z": "1f2e3e76bc22eaf5",
                            "name": "",
                            "rules": [
                                {
                                    "t": "set",
                                    "p": "reset",
                                    "pt": "msg",
                                    "to": "true",
                                    "tot": "bool"
                                }
                            ],
                            "action": "",
                            "property": "",
                            "from": "",
                            "to": "",
                            "reg": false,
                            "x": 2050,
                            "y": 260,
                            "wires": [
                                [
                                    "439d2a3a5f5b523d"
                                ]
                            ]
                        },
                        {
                            "id": "9e53a2c71f32654a",
                            "type": "change",
                            "z": "1f2e3e76bc22eaf5",
                            "name": "",
                            "rules": [
                                {
                                    "t": "set",
                                    "p": "columns",
                                    "pt": "msg",
                                    "to": "Datum & Uhrzeit,Stromverbrauch inkl. Netzbezug,Netzbezug,Stromverbrauch Haus von PV",
                                    "tot": "str"
                                },
                                {
                                    "t": "set",
                                    "p": "payload[\"Datum & Uhrzeit\"]",
                                    "pt": "msg",
                                    "to": "",
                                    "tot": "date"
                                },
                                {
                                    "t": "set",
                                    "p": "payload[\"Datum & Uhrzeit\"]",
                                    "pt": "msg",
                                    "to": "$moment().locale(\"de\").tz('Europe/Berlin').format('DD.MM.YYYY HH:mm:ss')",
                                    "tot": "jsonata"
                                }
                            ],
                            "action": "",
                            "property": "",
                            "from": "",
                            "to": "",
                            "reg": false,
                            "x": 1660,
                            "y": 300,
                            "wires": [
                                [
                                    "6d90d97e2c1f4927"
                                ]
                            ]
                        },
                        {
                            "id": "6d90d97e2c1f4927",
                            "type": "switch",
                            "z": "1f2e3e76bc22eaf5",
                            "name": "NewFile?",
                            "property": "fNewFile",
                            "propertyType": "flow",
                            "rules": [
                                {
                                    "t": "true"
                                },
                                {
                                    "t": "false"
                                }
                            ],
                            "checkall": "true",
                            "repair": false,
                            "outputs": 2,
                            "x": 1850,
                            "y": 300,
                            "wires": [
                                [
                                    "dc242a92a7abcdd9"
                                ],
                                [
                                    "439d2a3a5f5b523d"
                                ]
                            ]
                        },
                        {
                            "id": "f66599290600f4d8",
                            "type": "change",
                            "z": "1f2e3e76bc22eaf5",
                            "name": "Stromverbrauch inkl. Netzbezug",
                            "rules": [
                                {
                                    "t": "set",
                                    "p": "topic",
                                    "pt": "msg",
                                    "to": "Stromverbrauch inkl. Netzbezug",
                                    "tot": "str"
                                }
                            ],
                            "action": "",
                            "property": "",
                            "from": "",
                            "to": "",
                            "reg": false,
                            "x": 770,
                            "y": 240,
                            "wires": [
                                [
                                    "cad5874ffe081a65"
                                ]
                            ]
                        },
                        {
                            "id": "e05b34f6096c6b4d",
                            "type": "change",
                            "z": "1f2e3e76bc22eaf5",
                            "name": "fNewFile = false",
                            "rules": [
                                {
                                    "t": "set",
                                    "p": "fNewFile",
                                    "pt": "flow",
                                    "to": "false",
                                    "tot": "bool"
                                }
                            ],
                            "action": "",
                            "property": "",
                            "from": "",
                            "to": "",
                            "reg": false,
                            "x": 2390,
                            "y": 320,
                            "wires": [
                                [
                                    "e5d2ec578c236fb9"
                                ]
                            ]
                        },
                        {
                            "id": "e5d2ec578c236fb9",
                            "type": "change",
                            "z": "1f2e3e76bc22eaf5",
                            "name": "",
                            "rules": [
                                {
                                    "t": "set",
                                    "p": "filename",
                                    "pt": "msg",
                                    "to": "I:\\CSV\\Stromverbrauch_Übersicht.csv",
                                    "tot": "str"
                                }
                            ],
                            "action": "",
                            "property": "",
                            "from": "",
                            "to": "",
                            "reg": false,
                            "x": 2600,
                            "y": 320,
                            "wires": [
                                [
                                    "cc9f98ec38dad97b"
                                ]
                            ]
                        },
                        {
                            "id": "cad5874ffe081a65",
                            "type": "change",
                            "z": "1f2e3e76bc22eaf5",
                            "name": "Zahlen  Komma",
                            "rules": [
                                {
                                    "t": "set",
                                    "p": "payload",
                                    "pt": "msg",
                                    "to": "$formatNumber(payload, \"#,####\", {'decimal-separator':',', 'grouping-separator':'.'} )\t",
                                    "tot": "jsonata"
                                }
                            ],
                            "action": "",
                            "property": "",
                            "from": "",
                            "to": "",
                            "reg": false,
                            "x": 1320,
                            "y": 300,
                            "wires": [
                                [
                                    "16d2ba80b692091d",
                                    "694d4a67103a09b9"
                                ]
                            ]
                        },
                        {
                            "id": "16d2ba80b692091d",
                            "type": "join",
                            "z": "1f2e3e76bc22eaf5",
                            "name": "",
                            "mode": "custom",
                            "build": "object",
                            "property": "payload",
                            "propertyType": "msg",
                            "key": "topic",
                            "joiner": "\\n",
                            "joinerType": "str",
                            "accumulate": false,
                            "timeout": "",
                            "count": "3",
                            "reduceRight": false,
                            "reduceExp": "",
                            "reduceInit": "",
                            "reduceInitType": "",
                            "reduceFixup": "",
                            "x": 1480,
                            "y": 300,
                            "wires": [
                                [
                                    "9e53a2c71f32654a"
                                ]
                            ]
                        },
                        {
                            "id": "6cebbec48955b658",
                            "type": "change",
                            "z": "1f2e3e76bc22eaf5",
                            "name": "fNewFile = false",
                            "rules": [
                                {
                                    "t": "set",
                                    "p": "fNewFile",
                                    "pt": "flow",
                                    "to": "false",
                                    "tot": "bool"
                                },
                                {
                                    "t": "set",
                                    "p": "payload",
                                    "pt": "msg",
                                    "to": "File found - fNewFile=false",
                                    "tot": "str"
                                }
                            ],
                            "action": "",
                            "property": "",
                            "from": "",
                            "to": "",
                            "reg": false,
                            "x": 1710,
                            "y": 400,
                            "wires": [
                                [
                                    "1463c0a51e142c55"
                                ]
                            ]
                        },
                        {
                            "id": "a4484cd91c127f61",
                            "type": "change",
                            "z": "1f2e3e76bc22eaf5",
                            "name": "fNewFile = true",
                            "rules": [
                                {
                                    "t": "set",
                                    "p": "fNewFile",
                                    "pt": "flow",
                                    "to": "true",
                                    "tot": "bool"
                                },
                                {
                                    "t": "set",
                                    "p": "payload",
                                    "pt": "msg",
                                    "to": "File not found - fNewFile=true",
                                    "tot": "str"
                                }
                            ],
                            "action": "",
                            "property": "",
                            "from": "",
                            "to": "",
                            "reg": false,
                            "x": 1710,
                            "y": 480,
                            "wires": [
                                [
                                    "1463c0a51e142c55"
                                ]
                            ]
                        },
                        {
                            "id": "1463c0a51e142c55",
                            "type": "debug",
                            "z": "1f2e3e76bc22eaf5",
                            "name": "",
                            "active": true,
                            "tosidebar": false,
                            "console": false,
                            "tostatus": true,
                            "complete": "payload",
                            "targetType": "msg",
                            "statusVal": "payload",
                            "statusType": "msg",
                            "x": 1900,
                            "y": 440,
                            "wires": []
                        },
                        {
                            "id": "694d4a67103a09b9",
                            "type": "fs-ops-access",
                            "z": "1f2e3e76bc22eaf5",
                            "name": "",
                            "path": "I:\\CSV",
                            "pathType": "str",
                            "filename": "Stromverbrauch_Übersicht.csv",
                            "filenameType": "str",
                            "read": true,
                            "write": true,
                            "throwerror": false,
                            "x": 1410,
                            "y": 400,
                            "wires": [
                                [
                                    "6cebbec48955b658"
                                ],
                                [
                                    "a4484cd91c127f61"
                                ]
                            ]
                        },
                        {
                            "id": "e4c4bc1098c16a5e",
                            "type": "ioBroker in",
                            "z": "1f2e3e76bc22eaf5",
                            "name": "Netzbezug-Vortag-23-59",
                            "attrname": "",
                            "topic": "0_userdata.0.PV-Anlage.Netzbezug-Vortag-23-59",
                            "payloadType": "value",
                            "onlyack": "",
                            "func": "all",
                            "gap": "",
                            "fireOnStart": "false",
                            "outFormat": "MQTT",
                            "x": 370,
                            "y": 320,
                            "wires": [
                                [
                                    "042a57214d3861d4"
                                ]
                            ]
                        },
                        {
                            "id": "042a57214d3861d4",
                            "type": "change",
                            "z": "1f2e3e76bc22eaf5",
                            "name": "Netzbezug",
                            "rules": [
                                {
                                    "t": "set",
                                    "p": "topic",
                                    "pt": "msg",
                                    "to": "Netzbezug",
                                    "tot": "str"
                                }
                            ],
                            "action": "",
                            "property": "",
                            "from": "",
                            "to": "",
                            "reg": false,
                            "x": 670,
                            "y": 320,
                            "wires": [
                                [
                                    "cad5874ffe081a65"
                                ]
                            ]
                        },
                        {
                            "id": "ed0362d319bee9a9",
                            "type": "ioBroker in",
                            "z": "1f2e3e76bc22eaf5",
                            "name": "Stromverbrauch-Haus-von-PV-Vortag-23-59",
                            "attrname": "",
                            "topic": "0_userdata.0.PV-Anlage.Stromverbrauch-Haus-von-PV-Vortag-23-59",
                            "payloadType": "value",
                            "onlyack": "",
                            "func": "all",
                            "gap": "",
                            "fireOnStart": "false",
                            "outFormat": "MQTT",
                            "x": 430,
                            "y": 420,
                            "wires": [
                                [
                                    "a0360e6a43ea4b41"
                                ]
                            ]
                        },
                        {
                            "id": "a0360e6a43ea4b41",
                            "type": "change",
                            "z": "1f2e3e76bc22eaf5",
                            "name": "Stromverbrauch Haus von PV",
                            "rules": [
                                {
                                    "t": "set",
                                    "p": "topic",
                                    "pt": "msg",
                                    "to": "Stromverbrauch Haus von PV",
                                    "tot": "str"
                                }
                            ],
                            "action": "",
                            "property": "",
                            "from": "",
                            "to": "",
                            "reg": false,
                            "x": 790,
                            "y": 420,
                            "wires": [
                                [
                                    "cad5874ffe081a65"
                                ]
                            ]
                        }
                    ]
                    

                    Eine weitere Frage wäre noch: Glücklicherweise sind das ja jetzt alles Zahlenwerte. Was wäre wenn jetzt noch ein weiterer Wert hinzukommen würde, der Text enthält?
                    Müsste das dann so aussehen?

                    firefox_6FmgljTV9B.jpg

                    surfer09 1 Reply Last reply Reply Quote 0
                    • surfer09
                      surfer09 @surfer09 last edited by

                      Ich glaube, das mit den Spaltenüberschriften habe ich gefunden. Ob das so richtig ist? Bei meinem Test hat es zumindest funktioniert 🙂

                      firefox_s7GeVR8xy6.jpg

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

                        @surfer09 wenn es funktioniert ist doch bestens. ja irgendwo in der csv node definiert man das und die Überschriften sind ja durch msg.coöumns festgelegt.
                        Vielleicht wirst ja doch noch ein NodeRed Fan: 😉😉

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

                          @mickym 🙂 🙂 Im Prinzip funktioniert das ja alles wunderbar, wenn man weiß an welchen Schrauben man drehen muss 😉

                          1 Reply Last reply Reply Quote 0
                          • A
                            Amutep last edited by

                            Moin

                            Gut das das Thema gerade auf ist habe da auch eine Frage. Ich habe 3 Werte siehe Flow diese 3 Werte möchte ich in die CSV schreiben. Funktioniert auch soweit nur werden die Werte unterschiedlich aktualisiert und dann habe ich in meiner CSV ein durcheinander.
                            Mit nur einem Wert klappt das problemlos.

                            Screenshot 2024-03-17 113836.png

                            Danke euch

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

                              @amutep nun dann mach vorne nicht so ein Durcheinander und sorge dafür, dass es 4 unterschiedliche topics sind. dann wartet sie auch bis alle 4 getriggert wurden. wenn du willst, dass nur am Anfang auf alle 4 gewartet wird und dann bei je dem Update eine neue Zeile geschrieben wird, dann halt den Haken bei jeder nachfolgenden Nachricht einen Haken machen

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

                              Support us

                              ioBroker
                              Community Adapters
                              Donate

                              1.1k
                              Online

                              31.7k
                              Users

                              79.7k
                              Topics

                              1.3m
                              Posts

                              5
                              15
                              716
                              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