Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Werte vom Datenpunkt in CSV-Datei schreiben *gelöst*

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Werte vom Datenpunkt in CSV-Datei schreiben *gelöst*

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

      Hier meine Blockly Lösung. Ich habe mir einen Mountpunkt angelegt, da ich die Daten noch weiterverarbeite.

      In meinem Fall werden die neuen Daten unten angehangen. Habe jetzt hier mit dem ID von Selektor gearbeitet, aber das lässt sich ja anpassen.

      Hier das Blockly:

      Bildschirmfoto 2022-06-05 um 17.17.54.jpg

      Der Inhalt der Funktion:

      Bildschirmfoto 2022-06-05 um 17.18.13.jpg

      und hier das ganze als Blockly Export:

      csv_export.rtf

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

        @mickym Also es handelt sich um einen Datenpunkt (Einspeiseertrag Solaranlage). Eigentlich brauche ich nur 1. Spalte Datum, 2. Spalte Wert vom Datenpunkt.

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

          @surfer09 Ok - Datum nehmen wir am Besten den Zeitpunkt wann es auch geschrieben wird. Das heißt Du kannst alle Change Nodes am Anfang bis auf einen löschen und hängst Deine iobroker In Node vor diese Change Node.

          d105f32a-051b-42db-9ea8-ef5e302fdd85-image.png

          Dann passt Du Pfad zur Testdatei auf einen lokalen Pfad an. Entweder nimmst Du "/" und es funktioniert, sonst halt "" ggf. muss man die auch verdoppeln.

          Den Pfad passt du in diesen beiden Nodes an.

          6ba7e828-1add-47fc-84cc-f3fdeb77fd93-image.png

          Falls Du keine Spaltenüberschriften brauchst, kann man den Flow auch wesentlich vereinfachen.

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

            @mickym Okay, ich habe jetzt einen lokalen Pfad dort hinterlegt (I:\iobroker\werte.csv), aber es passiert nichts. In der Datei hat sich nichts verändert.

            2022-06-05 17_48_54-node-red-0 - IO-Broker-Server.jpg

            2022-06-05 17_50_03-node-red-0 - IO-Broker-Server.jpg

            2022-06-05 17_50_24-node-red-0 - IO-Broker-Server.jpg

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

              @surfer09 Ok - ja hab noch was vergessen. Da Du ja nur einen Datenpunkt hast, setze bitte mal in der JOIN Node die Anzahl an Nachrichten auf 1.

              Wenn der Datenpunkt im iobroker nicht aktualisiert wird, kannst Du auch noch eine Inject Node vorne dran hängen und damit testen. 😉 - Dann weisst Du auch wofür man diese Node braucht.

              Durch Drücken auf die Schaltfläche triggerst Du manuell den Flow mit einem Wert:

              9b84a8fe-9d22-4e1c-9e10-5b4a5d058dd6-image.png

              Du musst nur darauf achten, dass Du einen Zahlenwert nimmst. 😉

              804cd8d7-03b2-48cc-8082-d1f71c62dcdd-image.png

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

                @mickym Es funktioniert! Woohoo! ☺

                Er packt jetzt aber alles in eine Spalte und die anderen Spaltennamen stehen dort auch noch aufgeführt..

                CSV.jpg

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

                  @surfer09 Ja - Punkt eins ich hatte den Spaltentrenner auf Tab eingestellt, damit man nicht mit Dezimalzahlen in Konflikt kommt. Das machst Du also beim Excel import ebenfalls.

                  Ansonsten kannst Du das Trennzeichen in der CSV Node konfigurieren:

                  d6948a00-d91d-4edf-bf02-78f7ed123f6c-image.png

                  Die Spaltenüberschriften, sowie das Datumsformat sind in der 1. Change Node nach der JOIN Node konfiguriert:
                  Da einfach den String kürzen. Die Überschriften sind mit Komma getrennt.

                  Die mittlere Zeile in der Change Node kannst eh löschen (auf das x rechts klicken( - das war wohl irgendein Überbleibsel

                  dd997b60-bac7-4cf0-96ff-d355e1e8d792-image.png

                  Wenn Du keine Dezimalzahlen da drin stehen hast in Deinem Datenpunkt, dann kann man sich das Formateingabe, was für ein Zahlenformat rauskommen soll auch sparen.

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

                    @mickym Was soll ich sagen? Du bist der Beste 🙂
                    Es funktioniert jetzt. Allerdings kann ich scheinbar die CSV-Datei nur lokal ablegen - was mich so aber jetzt nicht stört, vermutlich ist das ein Rechte Problem.
                    Dezimalstellen kommen auf jeden Fall vor, daher passt das so schon.

                    CSV-Datei.jpg

                    Meine jetzige Node-Red Kodierung habe ich gerade mal exportiert, vielleicht können andere das ja auch gebrauchen, um einen Datenpunkt in eine CSV-Datei zu schreiben:

                    [
                        {
                            "id": "1f191dc3161284eb",
                            "type": "tab",
                            "label": "Flow 1",
                            "disabled": false,
                            "info": "",
                            "env": []
                        },
                        {
                            "id": "f8853ddf8535a98c",
                            "type": "ioBroker in",
                            "z": "1f191dc3161284eb",
                            "name": "Tagesertrag-Solaranlage-Carport",
                            "topic": "0_userdata.0.Tagesertrag-Solaranlage-Carport",
                            "payloadType": "value",
                            "onlyack": "",
                            "func": "all",
                            "gap": "",
                            "fireOnStart": "false",
                            "outFormat": "MQTT",
                            "x": 170,
                            "y": 320,
                            "wires": [
                                [
                                    "ff441e41.86da6"
                                ]
                            ]
                        },
                        {
                            "id": "cd391a0c.856018",
                            "type": "file",
                            "z": "1f191dc3161284eb",
                            "name": "",
                            "filename": "",
                            "appendNewline": false,
                            "createDir": false,
                            "overwriteFile": "false",
                            "encoding": "cp1252",
                            "x": 1900,
                            "y": 500,
                            "wires": [
                                []
                            ]
                        },
                        {
                            "id": "792b60ad.f1578",
                            "type": "csv",
                            "z": "1f191dc3161284eb",
                            "name": "",
                            "sep": ";",
                            "hdrin": "",
                            "hdrout": "once",
                            "multi": "one",
                            "ret": "\\r\\n",
                            "temp": "",
                            "skip": "0",
                            "strings": true,
                            "include_empty_strings": "",
                            "include_null_values": "",
                            "x": 1340,
                            "y": 500,
                            "wires": [
                                [
                                    "df1d94b.c458e68"
                                ]
                            ]
                        },
                        {
                            "id": "8f1ae972.d5f228",
                            "type": "change",
                            "z": "1f191dc3161284eb",
                            "name": "",
                            "rules": [
                                {
                                    "t": "set",
                                    "p": "reset",
                                    "pt": "msg",
                                    "to": "true",
                                    "tot": "bool"
                                }
                            ],
                            "action": "",
                            "property": "",
                            "from": "",
                            "to": "",
                            "reg": false,
                            "x": 1170,
                            "y": 440,
                            "wires": [
                                [
                                    "792b60ad.f1578"
                                ]
                            ]
                        },
                        {
                            "id": "fbd8dc3f.4df7c",
                            "type": "change",
                            "z": "1f191dc3161284eb",
                            "name": "",
                            "rules": [
                                {
                                    "t": "set",
                                    "p": "columns",
                                    "pt": "msg",
                                    "to": "Datum & Uhrzeit,Ertrag in kWh",
                                    "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": 780,
                            "y": 480,
                            "wires": [
                                [
                                    "31ffef83.0a28a"
                                ]
                            ]
                        },
                        {
                            "id": "31ffef83.0a28a",
                            "type": "switch",
                            "z": "1f191dc3161284eb",
                            "name": "NewFile?",
                            "property": "fNewFile",
                            "propertyType": "flow",
                            "rules": [
                                {
                                    "t": "true"
                                },
                                {
                                    "t": "false"
                                }
                            ],
                            "checkall": "true",
                            "repair": false,
                            "outputs": 2,
                            "x": 970,
                            "y": 480,
                            "wires": [
                                [
                                    "8f1ae972.d5f228"
                                ],
                                [
                                    "792b60ad.f1578"
                                ]
                            ]
                        },
                        {
                            "id": "ff441e41.86da6",
                            "type": "change",
                            "z": "1f191dc3161284eb",
                            "name": "Ertrag in kWh",
                            "rules": [
                                {
                                    "t": "set",
                                    "p": "topic",
                                    "pt": "msg",
                                    "to": "Ertrag in kWh",
                                    "tot": "str"
                                }
                            ],
                            "action": "",
                            "property": "",
                            "from": "",
                            "to": "",
                            "reg": false,
                            "x": 200,
                            "y": 480,
                            "wires": [
                                [
                                    "579569f5.ebb9c8"
                                ]
                            ]
                        },
                        {
                            "id": "df1d94b.c458e68",
                            "type": "change",
                            "z": "1f191dc3161284eb",
                            "name": "fNewFile = false",
                            "rules": [
                                {
                                    "t": "set",
                                    "p": "fNewFile",
                                    "pt": "flow",
                                    "to": "false",
                                    "tot": "bool"
                                }
                            ],
                            "action": "",
                            "property": "",
                            "from": "",
                            "to": "",
                            "reg": false,
                            "x": 1510,
                            "y": 500,
                            "wires": [
                                [
                                    "7f14f556.0e8bcc"
                                ]
                            ]
                        },
                        {
                            "id": "7f14f556.0e8bcc",
                            "type": "change",
                            "z": "1f191dc3161284eb",
                            "name": "",
                            "rules": [
                                {
                                    "t": "set",
                                    "p": "filename",
                                    "pt": "msg",
                                    "to": "I:\\Solarertrag.csv",
                                    "tot": "str"
                                }
                            ],
                            "action": "",
                            "property": "",
                            "from": "",
                            "to": "",
                            "reg": false,
                            "x": 1720,
                            "y": 500,
                            "wires": [
                                [
                                    "cd391a0c.856018"
                                ]
                            ]
                        },
                        {
                            "id": "579569f5.ebb9c8",
                            "type": "change",
                            "z": "1f191dc3161284eb",
                            "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": 410,
                            "y": 480,
                            "wires": [
                                [
                                    "8f46052e.5418c8",
                                    "3c6c5d15.ba7f42"
                                ]
                            ]
                        },
                        {
                            "id": "8f46052e.5418c8",
                            "type": "join",
                            "z": "1f191dc3161284eb",
                            "name": "",
                            "mode": "custom",
                            "build": "object",
                            "property": "payload",
                            "propertyType": "msg",
                            "key": "topic",
                            "joiner": "\\n",
                            "joinerType": "str",
                            "accumulate": false,
                            "timeout": "",
                            "count": "1",
                            "reduceRight": false,
                            "reduceExp": "",
                            "reduceInit": "",
                            "reduceInitType": "",
                            "reduceFixup": "",
                            "x": 600,
                            "y": 480,
                            "wires": [
                                [
                                    "fbd8dc3f.4df7c"
                                ]
                            ]
                        },
                        {
                            "id": "3c6c5d15.ba7f42",
                            "type": "fs-ops-access",
                            "z": "1f191dc3161284eb",
                            "name": "",
                            "path": "I:\\",
                            "pathType": "str",
                            "filename": "Solarertrag.csv",
                            "filenameType": "str",
                            "read": true,
                            "write": true,
                            "throwerror": false,
                            "x": 640,
                            "y": 620,
                            "wires": [
                                [
                                    "8d3670b.8ae109"
                                ],
                                [
                                    "ea9cb3bc.5c8b4"
                                ]
                            ]
                        },
                        {
                            "id": "8d3670b.8ae109",
                            "type": "change",
                            "z": "1f191dc3161284eb",
                            "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": 830,
                            "y": 580,
                            "wires": [
                                [
                                    "992590f7.3b452"
                                ]
                            ]
                        },
                        {
                            "id": "ea9cb3bc.5c8b4",
                            "type": "change",
                            "z": "1f191dc3161284eb",
                            "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": 830,
                            "y": 660,
                            "wires": [
                                [
                                    "992590f7.3b452"
                                ]
                            ]
                        },
                        {
                            "id": "992590f7.3b452",
                            "type": "debug",
                            "z": "1f191dc3161284eb",
                            "name": "",
                            "active": true,
                            "tosidebar": false,
                            "console": false,
                            "tostatus": true,
                            "complete": "payload",
                            "targetType": "msg",
                            "statusVal": "payload",
                            "statusType": "msg",
                            "x": 1020,
                            "y": 620,
                            "wires": []
                        }
                    ]
                    

                    Danke auf jeden Fall an @mickym ! 😉

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

                      @surfer09 Na das freut mich, ich sehe das Zeitformat hast Du ebenfalls bereits angepasst.

                      Aber fehlt da nicht noch was?

                      Wolltest Du diese Datenpunkte nicht nur innerhalb eines bestimmten Zeitfensters auslesen? Und ich hoffe Du hast einen kleinen Einblick in die Funktionsweise von Node Red bekommen.

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

                        @mickym Nein, das ist völlig okay so. Die Daten sollen einfach jeden Tag untereinander weggeschrieben werden. Der Datenpunkt wird jeden Abend um 23:30 Uhr mit dem Tageswert beschrieben und dann um 23:59 Uhr zurück auf 0 gesetzt.

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

                          @surfer09 Über die neuen Dateisystem Nodes kannst auch mal versuchen in bestimmten Abständen die CSV auf dein NAS zu kopieren.

                          cd4c7170-3b4b-45d5-bc9a-c848d1d0dea1-image.png

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

                            @mickym Wie müsste man die dort einbauen? Einfach hinten anhängen?

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

                              @surfer09 Nee Du willst die ja nicht nach jedem Schreiben kopieren. Erst mal wieder testen, ob es überhaupt tut.

                              In dem Fall nimmst du eine Inject Node und triggerst manuell und trägst die Pfade in die File Copy Node.

                              Hier mal zum Test - dann einfach auf die Schaltfläche der Inject Node drücken:

                              [
                                 {
                                     "id": "e70bc606a3b3f71c",
                                     "type": "fs-ops-copy",
                                     "z": "4735369af5996aeb",
                                     "name": "File Copy",
                                     "sourcePath": "H:\\Users\\mickym\\Documents",
                                     "sourcePathType": "str",
                                     "sourceFilename": "Die Zwerge.txt",
                                     "sourceFilenameType": "str",
                                     "destPath": "H:\\Users\\mickym\\Documents",
                                     "destPathType": "str",
                                     "destFilename": "Die Zwerge2.txt",
                                     "destFilenameType": "str",
                                     "link": false,
                                     "overwrite": true,
                                     "x": 740,
                                     "y": 260,
                                     "wires": [
                                         []
                                     ]
                                 },
                                 {
                                     "id": "6fc9e7c72a082145",
                                     "type": "inject",
                                     "z": "4735369af5996aeb",
                                     "name": "trigger",
                                     "props": [
                                         {
                                             "p": "trigger",
                                             "v": "true",
                                             "vt": "bool"
                                         }
                                     ],
                                     "repeat": "",
                                     "crontab": "",
                                     "once": false,
                                     "onceDelay": 0.1,
                                     "topic": "",
                                     "x": 590,
                                     "y": 260,
                                     "wires": [
                                         [
                                             "e70bc606a3b3f71c"
                                         ]
                                     ]
                                 }
                              ]
                              

                              2cd108a3-8ad8-4312-b48e-06f29811ab24-image.png

                              EDIT: Das overwrite Flag muss natürlich gesetzt sein

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

                                @mickym Leider nein. Da bekomme ich eine große Fehlermeldung im LOG:

                                node-red.0
                                	2022-06-05 18:56:08.161	error	5 Jun 18:56:08 - [error] [fs-ops-copy:91d0be5079826409] TypeError: Cannot read property 'csv' of undefined at I:\iobroker\node_modules\@node-red\util\lib\util.js:430:29 at Array.reduce (<anonymous>) at getObjectProperty (I:\iobroker\node_modules\@node-red\util\lib\util.js:429:18) at getMessageProperty (I:\iobroker\node_modules\@node-red\util\lib\util.js:401:12) at Object.evaluateNodeProperty (I:\iobroker\node_modules\@node-red\util\lib\util.js:647:22) at CopyNode._inputCallback (I:\iobroker\node_modules\iobroker.node-red\userdata\node_modules\node-red-contrib-fs-ops\fs-ops.js:176:32) at I:\iobroker\node_modules\@node-red\runtime\lib\nodes\Node.js:210:26 at Object.trigger (I:\iobroker\node_modules\@node-red\util\lib\hooks.js:166:13) at CopyNode.Node._emitInput (I:\iobroker\node_modules\@node-red\runtime\lib\nodes\Node.js:202:11) at CopyNode.Node.emit (I:\iobroker\node_modules\@node-red\runtime\lib\nodes\Node.js:186:25) 
                                
                                mickym 1 Reply Last reply Reply Quote 0
                                • mickym
                                  mickym Most Active @surfer09 last edited by mickym

                                  @surfer09 OK - um zu checken, dass Du auch die Syntax richtig eingeben hast, probiere halt erst mal eine Datei lokal, wie in meinem Beispiel zu kopieren und erst wenn Du siehst, dass es am Zielpfad hängt, dann musst Du Dich halt im Berechtigungsdschungel Deiner NAS versuchen. Da kann NodeRed wenig ausrichten. Das Problem ist dann wahrscheinlich - gerade auf Windowssystemen, dass der Dienst ggf. unter SYSTEM Kennung läuft - und das schließt Netzwerkzugriffe aus. Da muss man dann ggf. mit Benutzern als Dienst arbeiten - aber da habe ich bzgl. Seiteneffekte keine Ahnung. Also das ist was ich meinte - dann lasse es halt weg. Aber ist halt nicht trivial.

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

                                    @mickym Also lokal kein Problem, funktioniert. Auf ein Netzlaufwerk kopieren wird schwierig. Ich vermute auch Berechtigungsproblem, aber kein Problem.

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

                                      @surfer09 Eben - die Datei ist ja sicher Bestandteil Deiner Datensicherung, die dann sowieso auf dem NAS landet. Also schönen Abend noch.

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

                                        @mickym Kannst du mir vielleicht noch einmal helfen? Die CSV Datei läuft ja jetzt schon ein paar Tage und das Ergebnis sieht aktuell so aus.

                                        CSV.jpg

                                        Ich kann mir nicht wirklich erklären, woher die Nullwerte kommen und warum er zwischendurch anfängt die Überschrift wieder einzufügen. Eigentlich werden die Nullwerte gar nicht aufgezeichnet.
                                        Hier die Verlaufsdaten des Datenpunktes.

                                        Solarertrag-Daten.jpg

                                        Außerdem erstellt er jedes Mal die Datei neu. Wenn ich manuell die Nullwerte lösche, sind diese bei der nächsten Datenübertragung wieder drin. Gibt es die Möglichkeit die CSV Datei einfach zu ergänzen mit den neuen Werten?

                                        [
                                            {
                                                "id": "f8853ddf8535a98c",
                                                "type": "ioBroker in",
                                                "z": "1f191dc3161284eb",
                                                "name": "Tagesertrag-Solaranlage-Carport",
                                                "topic": "0_userdata.0.Tagesertrag-Solaranlage-Carport",
                                                "payloadType": "value",
                                                "onlyack": "",
                                                "func": "all",
                                                "gap": "",
                                                "fireOnStart": "false",
                                                "outFormat": "MQTT",
                                                "x": 170,
                                                "y": 320,
                                                "wires": [
                                                    [
                                                        "ff441e41.86da6"
                                                    ]
                                                ]
                                            },
                                            {
                                                "id": "cd391a0c.856018",
                                                "type": "file",
                                                "z": "1f191dc3161284eb",
                                                "name": "",
                                                "filename": "",
                                                "appendNewline": false,
                                                "createDir": false,
                                                "overwriteFile": "false",
                                                "encoding": "cp1252",
                                                "x": 1900,
                                                "y": 500,
                                                "wires": [
                                                    []
                                                ]
                                            },
                                            {
                                                "id": "792b60ad.f1578",
                                                "type": "csv",
                                                "z": "1f191dc3161284eb",
                                                "name": "",
                                                "sep": ";",
                                                "hdrin": "",
                                                "hdrout": "once",
                                                "multi": "one",
                                                "ret": "\\r\\n",
                                                "temp": "",
                                                "skip": "0",
                                                "strings": true,
                                                "include_empty_strings": "",
                                                "include_null_values": "",
                                                "x": 1340,
                                                "y": 500,
                                                "wires": [
                                                    [
                                                        "df1d94b.c458e68"
                                                    ]
                                                ]
                                            },
                                            {
                                                "id": "8f1ae972.d5f228",
                                                "type": "change",
                                                "z": "1f191dc3161284eb",
                                                "name": "",
                                                "rules": [
                                                    {
                                                        "t": "set",
                                                        "p": "reset",
                                                        "pt": "msg",
                                                        "to": "true",
                                                        "tot": "bool"
                                                    }
                                                ],
                                                "action": "",
                                                "property": "",
                                                "from": "",
                                                "to": "",
                                                "reg": false,
                                                "x": 1170,
                                                "y": 440,
                                                "wires": [
                                                    [
                                                        "792b60ad.f1578"
                                                    ]
                                                ]
                                            },
                                            {
                                                "id": "fbd8dc3f.4df7c",
                                                "type": "change",
                                                "z": "1f191dc3161284eb",
                                                "name": "",
                                                "rules": [
                                                    {
                                                        "t": "set",
                                                        "p": "columns",
                                                        "pt": "msg",
                                                        "to": "Datum & Uhrzeit,Ertrag in kWh",
                                                        "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": 780,
                                                "y": 480,
                                                "wires": [
                                                    [
                                                        "31ffef83.0a28a"
                                                    ]
                                                ]
                                            },
                                            {
                                                "id": "31ffef83.0a28a",
                                                "type": "switch",
                                                "z": "1f191dc3161284eb",
                                                "name": "NewFile?",
                                                "property": "fNewFile",
                                                "propertyType": "flow",
                                                "rules": [
                                                    {
                                                        "t": "true"
                                                    },
                                                    {
                                                        "t": "false"
                                                    }
                                                ],
                                                "checkall": "true",
                                                "repair": false,
                                                "outputs": 2,
                                                "x": 970,
                                                "y": 480,
                                                "wires": [
                                                    [
                                                        "8f1ae972.d5f228"
                                                    ],
                                                    [
                                                        "792b60ad.f1578"
                                                    ]
                                                ]
                                            },
                                            {
                                                "id": "ff441e41.86da6",
                                                "type": "change",
                                                "z": "1f191dc3161284eb",
                                                "name": "Ertrag in kWh",
                                                "rules": [
                                                    {
                                                        "t": "set",
                                                        "p": "topic",
                                                        "pt": "msg",
                                                        "to": "Ertrag in kWh",
                                                        "tot": "str"
                                                    }
                                                ],
                                                "action": "",
                                                "property": "",
                                                "from": "",
                                                "to": "",
                                                "reg": false,
                                                "x": 200,
                                                "y": 480,
                                                "wires": [
                                                    [
                                                        "579569f5.ebb9c8"
                                                    ]
                                                ]
                                            },
                                            {
                                                "id": "df1d94b.c458e68",
                                                "type": "change",
                                                "z": "1f191dc3161284eb",
                                                "name": "fNewFile = false",
                                                "rules": [
                                                    {
                                                        "t": "set",
                                                        "p": "fNewFile",
                                                        "pt": "flow",
                                                        "to": "false",
                                                        "tot": "bool"
                                                    }
                                                ],
                                                "action": "",
                                                "property": "",
                                                "from": "",
                                                "to": "",
                                                "reg": false,
                                                "x": 1510,
                                                "y": 500,
                                                "wires": [
                                                    [
                                                        "7f14f556.0e8bcc"
                                                    ]
                                                ]
                                            },
                                            {
                                                "id": "7f14f556.0e8bcc",
                                                "type": "change",
                                                "z": "1f191dc3161284eb",
                                                "name": "",
                                                "rules": [
                                                    {
                                                        "t": "set",
                                                        "p": "filename",
                                                        "pt": "msg",
                                                        "to": "I:\\CSV\\Solarertrag.csv",
                                                        "tot": "str"
                                                    }
                                                ],
                                                "action": "",
                                                "property": "",
                                                "from": "",
                                                "to": "",
                                                "reg": false,
                                                "x": 1720,
                                                "y": 500,
                                                "wires": [
                                                    [
                                                        "cd391a0c.856018"
                                                    ]
                                                ]
                                            },
                                            {
                                                "id": "579569f5.ebb9c8",
                                                "type": "change",
                                                "z": "1f191dc3161284eb",
                                                "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": 410,
                                                "y": 480,
                                                "wires": [
                                                    [
                                                        "8f46052e.5418c8",
                                                        "3c6c5d15.ba7f42"
                                                    ]
                                                ]
                                            },
                                            {
                                                "id": "8f46052e.5418c8",
                                                "type": "join",
                                                "z": "1f191dc3161284eb",
                                                "name": "",
                                                "mode": "custom",
                                                "build": "object",
                                                "property": "payload",
                                                "propertyType": "msg",
                                                "key": "topic",
                                                "joiner": "\\n",
                                                "joinerType": "str",
                                                "accumulate": false,
                                                "timeout": "",
                                                "count": "1",
                                                "reduceRight": false,
                                                "reduceExp": "",
                                                "reduceInit": "",
                                                "reduceInitType": "",
                                                "reduceFixup": "",
                                                "x": 600,
                                                "y": 480,
                                                "wires": [
                                                    [
                                                        "fbd8dc3f.4df7c"
                                                    ]
                                                ]
                                            },
                                            {
                                                "id": "3c6c5d15.ba7f42",
                                                "type": "fs-ops-access",
                                                "z": "1f191dc3161284eb",
                                                "name": "",
                                                "path": "I:\\CSV",
                                                "pathType": "str",
                                                "filename": "Solarertrag.csv",
                                                "filenameType": "str",
                                                "read": true,
                                                "write": true,
                                                "throwerror": false,
                                                "x": 640,
                                                "y": 620,
                                                "wires": [
                                                    [
                                                        "8d3670b.8ae109"
                                                    ],
                                                    [
                                                        "ea9cb3bc.5c8b4"
                                                    ]
                                                ]
                                            },
                                            {
                                                "id": "8d3670b.8ae109",
                                                "type": "change",
                                                "z": "1f191dc3161284eb",
                                                "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": 830,
                                                "y": 580,
                                                "wires": [
                                                    [
                                                        "992590f7.3b452"
                                                    ]
                                                ]
                                            },
                                            {
                                                "id": "ea9cb3bc.5c8b4",
                                                "type": "change",
                                                "z": "1f191dc3161284eb",
                                                "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": 830,
                                                "y": 660,
                                                "wires": [
                                                    [
                                                        "992590f7.3b452"
                                                    ]
                                                ]
                                            },
                                            {
                                                "id": "992590f7.3b452",
                                                "type": "debug",
                                                "z": "1f191dc3161284eb",
                                                "name": "",
                                                "active": true,
                                                "tosidebar": false,
                                                "console": false,
                                                "tostatus": true,
                                                "complete": "payload",
                                                "targetType": "msg",
                                                "statusVal": "payload",
                                                "statusType": "msg",
                                                "x": 1020,
                                                "y": 620,
                                                "wires": []
                                            }
                                        ]
                                        

                                        Gruß surfer 😉

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

                                          @surfer09 Also die 0 Werte kann ich mir auch nicht erklären, aber werden ja wohl kommen.

                                          Als erstes kannst Du mal versuchen, in der iobroker-IN Node nur Werte mit ACK=true durchzulassen (also nicht dass da Commandos in dem Datenpunkt existieren), wobei das ist ja ein selbst erstellter Datenpunkt - da müsstest Du ggf. auch mal Dein Blockly oder was das ist, der den Datenpunkt befüllt mal überprüfen.

                                          Ausserdem hake mal bitte in der JOIN Node an, dass auch bei folgenden Nachrichten gesendet wird.
                                          20f18572-feee-4c55-90b2-8252e9fd25dd-image.png

                                          Ansonsten wenn das nichts hilft - hängst Du eine switch Node hinter die iobroker IN Node, die diese 0 Werte ausfiltert.

                                          30acfde9-8f06-4f27-a24b-025e4cc3782a-image.png

                                          Das 2. Problem mit den Überschriften taucht eigentlich nur auf, wenn der reset gesendet wird und quasi die Datei als nicht verfügbar angezeigt wird.
                                          Man kann das natürlich alles wegschmeissen. Das einfachste wäre allerdings einfach, wenn die Datei existiert - in der csv Node einzustellen, dass die Spaltenüberschriften nie gesendet werden:

                                          618d9a0d-167f-479e-b816-e8745de8cc85-image.png

                                          Wie gesagt, wir können das auch alles aus dem Flow entfernen.

                                          Ohne Überschriften mit LogEintrag, wenn Wert geschrieben wird und ohne Prüfung ob Datei existiert, vereinfacht sich das dann wie folgt:

                                          [
                                             {
                                                 "id": "f8853ddf8535a98c",
                                                 "type": "ioBroker in",
                                                 "z": "a442b54b44edc349",
                                                 "name": "Tagesertrag-Solaranlage-Carport",
                                                 "topic": "0_userdata.0.Tagesertrag-Solaranlage-Carport",
                                                 "payloadType": "value",
                                                 "onlyack": "",
                                                 "func": "all",
                                                 "gap": "",
                                                 "fireOnStart": "false",
                                                 "outFormat": "MQTT",
                                                 "x": 250,
                                                 "y": 1700,
                                                 "wires": [
                                                     [
                                                         "c5dbbe84ad8e9cc3"
                                                     ]
                                                 ]
                                             },
                                             {
                                                 "id": "cd391a0c.856018",
                                                 "type": "file",
                                                 "z": "a442b54b44edc349",
                                                 "name": "",
                                                 "filename": "",
                                                 "appendNewline": false,
                                                 "createDir": false,
                                                 "overwriteFile": "false",
                                                 "encoding": "cp1252",
                                                 "x": 1380,
                                                 "y": 1860,
                                                 "wires": [
                                                     []
                                                 ]
                                             },
                                             {
                                                 "id": "792b60ad.f1578",
                                                 "type": "csv",
                                                 "z": "a442b54b44edc349",
                                                 "name": "",
                                                 "sep": ";",
                                                 "hdrin": "",
                                                 "hdrout": "none",
                                                 "multi": "one",
                                                 "ret": "\\r\\n",
                                                 "temp": "",
                                                 "skip": "0",
                                                 "strings": true,
                                                 "include_empty_strings": "",
                                                 "include_null_values": "",
                                                 "x": 1010,
                                                 "y": 1860,
                                                 "wires": [
                                                     [
                                                         "7f14f556.0e8bcc"
                                                     ]
                                                 ]
                                             },
                                             {
                                                 "id": "fbd8dc3f.4df7c",
                                                 "type": "change",
                                                 "z": "a442b54b44edc349",
                                                 "name": "",
                                                 "rules": [
                                                     {
                                                         "t": "set",
                                                         "p": "columns",
                                                         "pt": "msg",
                                                         "to": "Datum & Uhrzeit,Ertrag in kWh",
                                                         "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": 830,
                                                 "y": 1860,
                                                 "wires": [
                                                     [
                                                         "792b60ad.f1578"
                                                     ]
                                                 ]
                                             },
                                             {
                                                 "id": "ff441e41.86da6",
                                                 "type": "change",
                                                 "z": "a442b54b44edc349",
                                                 "name": "Ertrag in kWh",
                                                 "rules": [
                                                     {
                                                         "t": "set",
                                                         "p": "topic",
                                                         "pt": "msg",
                                                         "to": "Ertrag in kWh",
                                                         "tot": "str"
                                                     }
                                                 ],
                                                 "action": "",
                                                 "property": "",
                                                 "from": "",
                                                 "to": "",
                                                 "reg": false,
                                                 "x": 280,
                                                 "y": 1860,
                                                 "wires": [
                                                     [
                                                         "579569f5.ebb9c8"
                                                     ]
                                                 ]
                                             },
                                             {
                                                 "id": "7f14f556.0e8bcc",
                                                 "type": "change",
                                                 "z": "a442b54b44edc349",
                                                 "name": "",
                                                 "rules": [
                                                     {
                                                         "t": "set",
                                                         "p": "filename",
                                                         "pt": "msg",
                                                         "to": "I:\\CSV\\Solarertrag.csv",
                                                         "tot": "str"
                                                     }
                                                 ],
                                                 "action": "",
                                                 "property": "",
                                                 "from": "",
                                                 "to": "",
                                                 "reg": false,
                                                 "x": 1190,
                                                 "y": 1860,
                                                 "wires": [
                                                     [
                                                         "cd391a0c.856018"
                                                     ]
                                                 ]
                                             },
                                             {
                                                 "id": "579569f5.ebb9c8",
                                                 "type": "change",
                                                 "z": "a442b54b44edc349",
                                                 "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": 480,
                                                 "y": 1860,
                                                 "wires": [
                                                     [
                                                         "8f46052e.5418c8"
                                                     ]
                                                 ]
                                             },
                                             {
                                                 "id": "8f46052e.5418c8",
                                                 "type": "join",
                                                 "z": "a442b54b44edc349",
                                                 "name": "",
                                                 "mode": "custom",
                                                 "build": "object",
                                                 "property": "payload",
                                                 "propertyType": "msg",
                                                 "key": "topic",
                                                 "joiner": "\\n",
                                                 "joinerType": "str",
                                                 "accumulate": true,
                                                 "timeout": "",
                                                 "count": "1",
                                                 "reduceRight": false,
                                                 "reduceExp": "",
                                                 "reduceInit": "",
                                                 "reduceInitType": "",
                                                 "reduceFixup": "",
                                                 "x": 650,
                                                 "y": 1860,
                                                 "wires": [
                                                     [
                                                         "fbd8dc3f.4df7c"
                                                     ]
                                                 ]
                                             },
                                             {
                                                 "id": "c5dbbe84ad8e9cc3",
                                                 "type": "switch",
                                                 "z": "a442b54b44edc349",
                                                 "name": "",
                                                 "property": "payload",
                                                 "propertyType": "msg",
                                                 "rules": [
                                                     {
                                                         "t": "eq",
                                                         "v": "",
                                                         "vt": "str"
                                                     }
                                                 ],
                                                 "checkall": "true",
                                                 "repair": false,
                                                 "outputs": 1,
                                                 "x": 310,
                                                 "y": 1780,
                                                 "wires": [
                                                     [
                                                         "ff441e41.86da6",
                                                         "be31369dbbc7f662"
                                                     ]
                                                 ]
                                             },
                                             {
                                                 "id": "be31369dbbc7f662",
                                                 "type": "debug",
                                                 "z": "a442b54b44edc349",
                                                 "name": "",
                                                 "active": true,
                                                 "tosidebar": true,
                                                 "console": true,
                                                 "tostatus": false,
                                                 "complete": "payload",
                                                 "targetType": "msg",
                                                 "statusVal": "",
                                                 "statusType": "auto",
                                                 "x": 520,
                                                 "y": 1780,
                                                 "wires": []
                                             }
                                          ]
                                          

                                          d3a6e887-566f-41af-981a-6997655a2320-image.png

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

                                            @surfer09 sagte in Werte vom Datenpunkt in CSV-Datei schreiben *gelöst*:

                                            Wenn ich manuell die Nullwerte lösche, sind diese bei der nächsten Datenübertragung wieder drin.

                                            Nun ganz verstehe ich das nicht. Es wird ja immer nur ein Wert gesendet, wenn der Datenpunkt aktualisiert wird. Du kannst ja ein Debug Node hinter Deine iobroker In Node machen und in die "Systemkonsole" schreiben - dann erhälst Du jedesmal einen Logeintrag, wenn der Flow über die iobroker IN Node getriggert wird oder Du machst es hinter die switch NOde. Was Du halt untersuchen möchtest.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            897
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            3
                                            40
                                            2627
                                            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