Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. CSV Daten exportieren

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    CSV Daten exportieren

    This topic has been deleted. Only users with topic management privileges can see it.
    • S
      special_b @Homoran last edited by

      @homoran
      Das müsste ich jedes mal aktiv machen, aber das soll nach Möglichkeit automatisch gespeichert werden.

      mfg
      Special_B

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

        @special_b sagte in CSV Daten exportieren:

        Das müsste ich jedes mal aktiv machen,

        um Himmels willen das geht ja gar nicht!

        das Skript soll dann wohl auch den PC anwerfen, Excel öffnen und die CSV da direkt nach deinen Wünschen bearbeiten, konvertieren oder was auch immer.
        Sonst musst du das tatsächlich auch mit der Hand machen.


        Spaß beiseite!
        Im Ernst. was ist daran so schlimm?
        in dem Moment, in dem du Excel aufmachst, klickst du einmal darauf und holst die Daten ab.

        Gespeichert sind die Daten ja für alle Zeiten.

        S 1 Reply Last reply Reply Quote 0
        • OliverIO
          OliverIO @special_b last edited by OliverIO

          @special_b
          Eine CSV Datei zu erstellen ist relativ einfach. Mit dem FS Objekt von Node kannst du eine Datei öffnen und beschreiben.
          Wie eine CSV Datei aufgebaut ist weißt du?
          Der folgende Code schreibt 2 Datensätze

          
          const fs = require("fs");
          var str = "";
          str+= "a,b,c,d,e\n";
          str+= "1,2,3,4,5\n";
          fs.writeFile("./data.csv", str, (err) => {
              console.log(err || "done");
          });
          
          
          1 Reply Last reply Reply Quote 0
          • S
            special_b @Homoran last edited by

            Danke euch.

            @homoran
            Der PC ist ein Mac, der läuft sowieso weil darauf IOBroker läuft. Dort kann ein Ordner überwacht werden, sobald da eine Datei geändert oder hinzugefügt wurde, läuft ein AppleScript los welches die Daten in Numbers integriert.

            @OliverIO
            Wie eine CSV aufgebaut ist, weiß ich. Aber aus deinem Code werde ich nicht all zu schlau. Ich denke, dass dort a,b,c,d,e in eine Zeile und 1,2,3,4,5 in eine zweite Zeile geschrieben werden. a und 1 sind eine Spalte, sowie b und 2, c und 3, d und 4 sowie e und 5. Oder?

            mfg

            Special_B

            OliverIO 1 Reply Last reply Reply Quote 0
            • OliverIO
              OliverIO @special_b last edited by

              @special_b
              Genau.
              Felder mit , getrennt
              Datensätze sind die verschiedene Zeilen
              Die erste Zeile kann als spaltenkopf interpretiert werden.
              Deswegen musst in excel auch ein Häkchen setzen ob in der ersten Zeile sich das befindet.
              \n ist das newline Zeichen für eine neue Zeile
              Die letzten 3 Zeilen schreiben den Inhalt der variable str in die Datei und meldet sich dann wenn sie fertig ist zurück.
              Falls ein Fehler auftritt wird der Fehler ausgegeben, ansonsten der Text done

              S 1 Reply Last reply Reply Quote 0
              • S
                special_b @OliverIO last edited by

                @oliverio
                Danke. Und wie soll das dann ablaufen? Läuft Node Red irgendwie wie Blockly, sodass am Ende dann ein Javascript daraus wird? Sollte ich den Blockly Code dann irgendwie in Node Red reinbringen? Geht das überhaupt? Oder soll ich nur aus dem Datenpunkt auslesen und in eine CSV schreiben?
                Sorry, ich kenne mich damit halt so gut wie überhaupt nicht aus.

                mfg

                Special_B

                Codierknecht OliverIO 2 Replies Last reply Reply Quote 0
                • Codierknecht
                  Codierknecht Developer Most Active @special_b last edited by

                  @special_b
                  Das was @OliverIO da zeigt ist JS. Die Funktion steckt in Node.js und hat mit NodeRed nix zu tun.
                  Du kannst in Blockly eine JS Funktion erstellen und als Block hinzufügen.

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

                    Nun mit NodeRed kann ich Dir helfen - aber das musst Du halt wollen. Den Thread habe ich Dir ja schon mal verlinkt.

                    https://forum.iobroker.net/topic/49120/datenpunkt-in-log-oder-csv-file-schreiben/40?_=1673281238329

                    Solange Du nach anderen Lösungen suchst bin ich aber raus. Das können die anderen besser.

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

                      @mickym sagte in CSV Daten exportieren:

                      … aber das musst Du halt wollen.

                      Kann man nicht oft genug sagen.

                      Man muss sich halt auf einige Dinge einlassen, wenn man das Optimum herausholen möchte. Blockly, NodeRed, JavaScript und noch ein paar andere Dinge.
                      Ein gewisses Grundverständnis muss man sich dann eben erarbeiten bzw. anlesen.

                      1 Reply Last reply Reply Quote 1
                      • haus-automatisierung
                        haus-automatisierung Developer Most Active last edited by

                        Ich habe mal für jemanden hier im Forum ein Script gebaut. Das Ergebnis liegt auf GitHub als "Basis". Kannst Du ja nach deinen Vorstellungen anpassen:

                        https://github.com/haus-automation/iobroker-script-examples/blob/main/logging/history-save-csv.md

                        Und hier noch als Beispiel, wie man das die CSV-Datei als Mail verschicken könnte:

                        https://github.com/haus-automation/iobroker-script-examples/blob/main/logging/history-as-mail-csv.md

                        1 Reply Last reply Reply Quote 0
                        • OliverIO
                          OliverIO @special_b last edited by

                          @special_b
                          So wie andere geschrieben haben.
                          Iobroker bringt verschiedene logikmaschinen mit, die man nutzen kann.
                          Blockly, node red, JavaScript, rules
                          Wenn in einer etwas nicht geht, dann kann man es in einer anderen probieren. Damit man sich nicht überall einarbeiten muss, was auch unterschiedlich komplex ist, sollte man es auf wenige beschränken.
                          Mit JavaScript hast du die maximale Flexibilität
                          Bei blockly viel Komfort, weil du dich nicht viel um Syntax kümmern musst und die notwendigen Parameter mehr oder weniger abgefragt werden. Node red ist dazwischen, wobei man Node red durch weitere Module aus dem Internet auch erheblich erweitern kann.
                          Rules habe ich nie ausprobiert und kann nix sagen.

                          Wenn du Lust hast was neues zu lernen, also programmieren, dann würde ich dir zu JavaScript raten. Da gibt es im Internet unendliche Ressourcen zum lesen, Code Beispiele, Tutorials,etc.

                          Wenn du auch lernen willst, aber etwas geführt werden will’s, dann wäre Node red das richtige. Da gibt es auch viel Inhalte, aber nicht so viel wie bei js und such nicht für alle möglichen Fälle

                          Den Aufbau der Logik musst du aber in allen Fällen immer selbst durchdenken. Aber hier im Forum gibt es genügend, die da gerne helfen.

                          S 1 Reply Last reply Reply Quote 2
                          • S
                            special_b @OliverIO last edited by

                            @oliverio

                            Danke erstmal. Dann werde ich mich mal langsam in Node Red einarbeiten. Das kann ich halt fast immer nur Nachts, wenn die Kinder im Bett sind. Meine bessere Hälfte will auch mal was von mir haben. Nebenbei gibts im Haus auch einiges zu tun, nebenbei will ich eigentlich auch noch einen neuen Job suchen.

                            Aber ich werde mal versuchen mich in Node Red einzuarbeiten.

                            mfg

                            Special_B

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

                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            353
                            Online

                            31.7k
                            Users

                            79.8k
                            Topics

                            1.3m
                            Posts

                            6
                            14
                            931
                            Loading More Posts
                            • Oldest to Newest
                            • Newest to Oldest
                            • Most Votes
                            Reply
                            • Reply as topic
                            Log in to reply
                            Community
                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                            The ioBroker Community 2014-2023
                            logo