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

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

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Werte vom Datenpunkt in CSV-Datei schreiben *gelöst*

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    16
    1
    1.4k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    823

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.1k

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

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
40 Beiträge 3 Kommentatoren 4.2k Aufrufe 4 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • surfer09S surfer09

    @mickym Es funktioniert! Woohoo! :relaxed:

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

    CSV.jpg

    mickymM Online
    mickymM Online
    mickym
    Most Active
    schrieb am zuletzt editiert von mickym
    #26

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

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

    surfer09S 1 Antwort Letzte Antwort
    0
    • mickymM 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.

      surfer09S Offline
      surfer09S Offline
      surfer09
      schrieb am zuletzt editiert von
      #27

      @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 ! ;-)

      IO-Broker Master/Slave auf Windows 11 64bit, NPM 10.9.4, Node 22.21.1 js-controller 7.0.7

      mickymM 1 Antwort Letzte Antwort
      0
      • surfer09S surfer09

        @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 ! ;-)

        mickymM Online
        mickymM Online
        mickym
        Most Active
        schrieb am zuletzt editiert von mickym
        #28

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

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

        surfer09S 1 Antwort Letzte Antwort
        0
        • mickymM 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.

          surfer09S Offline
          surfer09S Offline
          surfer09
          schrieb am zuletzt editiert von
          #29

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

          IO-Broker Master/Slave auf Windows 11 64bit, NPM 10.9.4, Node 22.21.1 js-controller 7.0.7

          mickymM 1 Antwort Letzte Antwort
          0
          • surfer09S surfer09

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

            mickymM Online
            mickymM Online
            mickym
            Most Active
            schrieb am zuletzt editiert von
            #30

            @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

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

            surfer09S 1 Antwort Letzte Antwort
            0
            • mickymM mickym

              @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

              surfer09S Offline
              surfer09S Offline
              surfer09
              schrieb am zuletzt editiert von
              #31

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

              IO-Broker Master/Slave auf Windows 11 64bit, NPM 10.9.4, Node 22.21.1 js-controller 7.0.7

              mickymM 1 Antwort Letzte Antwort
              0
              • surfer09S surfer09

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

                mickymM Online
                mickymM Online
                mickym
                Most Active
                schrieb am zuletzt editiert von mickym
                #32

                @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

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

                surfer09S 1 Antwort Letzte Antwort
                0
                • mickymM 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

                  surfer09S Offline
                  surfer09S Offline
                  surfer09
                  schrieb am zuletzt editiert von
                  #33

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

                  IO-Broker Master/Slave auf Windows 11 64bit, NPM 10.9.4, Node 22.21.1 js-controller 7.0.7

                  mickymM 1 Antwort Letzte Antwort
                  0
                  • surfer09S surfer09

                    @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) 
                    
                    mickymM Online
                    mickymM Online
                    mickym
                    Most Active
                    schrieb am zuletzt editiert von mickym
                    #34

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

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

                    surfer09S 1 Antwort Letzte Antwort
                    0
                    • mickymM 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.

                      surfer09S Offline
                      surfer09S Offline
                      surfer09
                      schrieb am zuletzt editiert von
                      #35

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

                      IO-Broker Master/Slave auf Windows 11 64bit, NPM 10.9.4, Node 22.21.1 js-controller 7.0.7

                      mickymM 1 Antwort Letzte Antwort
                      0
                      • surfer09S surfer09

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

                        mickymM Online
                        mickymM Online
                        mickym
                        Most Active
                        schrieb am zuletzt editiert von
                        #36

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

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

                        surfer09S 1 Antwort Letzte Antwort
                        0
                        • mickymM mickym

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

                          surfer09S Offline
                          surfer09S Offline
                          surfer09
                          schrieb am zuletzt editiert von
                          #37

                          @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 ;-)

                          IO-Broker Master/Slave auf Windows 11 64bit, NPM 10.9.4, Node 22.21.1 js-controller 7.0.7

                          mickymM 2 Antworten Letzte Antwort
                          0
                          • surfer09S surfer09

                            @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 ;-)

                            mickymM Online
                            mickymM Online
                            mickym
                            Most Active
                            schrieb am zuletzt editiert von mickym
                            #38

                            @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

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

                            surfer09S 1 Antwort Letzte Antwort
                            1
                            • surfer09S surfer09

                              @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 ;-)

                              mickymM Online
                              mickymM Online
                              mickym
                              Most Active
                              schrieb am zuletzt editiert von mickym
                              #39

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

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

                              1 Antwort Letzte Antwort
                              0
                              • mickymM mickym

                                @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

                                surfer09S Offline
                                surfer09S Offline
                                surfer09
                                schrieb am zuletzt editiert von
                                #40

                                @mickym Danke dir für die schnelle Hilfe. Ich habe die Dinge jetzt mal einbaut. Mal sehen, wie es jetzt dann die nächsten Tage aussieht. :-)

                                iobroker_in_true.jpg

                                Spaltennamen.jpg

                                join.jpg

                                IO-Broker Master/Slave auf Windows 11 64bit, NPM 10.9.4, Node 22.21.1 js-controller 7.0.7

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


                                Support us

                                ioBroker
                                Community Adapters
                                Donate

                                784

                                Online

                                32.6k

                                Benutzer

                                82.0k

                                Themen

                                1.3m

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

                                • Du hast noch kein Konto? Registrieren

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