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

  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Datenpunkt in LOG oder CSV File schreiben

NEWS

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

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

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

Datenpunkt in LOG oder CSV File schreiben

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
48 Beiträge 5 Kommentatoren 9.0k Aufrufe 5 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.
  • G Garf

    @mickym

    Ich verwende keinen Adapter und kein iobroker. Ich verwende ausschließlich Node Red und zur Kommunikation unter den verschiedenen Reglern Modbus und den MQTT Broker. Die Werte in den MQTT Nodes sind leider immer im Stringformat. Ich glaube sogar die ELV Wetterstation übergibt die Werte schon als Stringwert.

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

    @garf Ja ich habe es gerade gedacht - dann wie gesagt erst in Zahl umwandeln und dann mit dieser Format funktion wieder umwandeln - also einfach nochmal ein $number() drum rum -

    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
    • G Garf

      @mickym sagte in Datenpunkt in LOG oder CSV File schreiben:

      @garf Hast Du die unselige Option in den Adaptereinstellungen raus gemacht - dass alles in strings umgewandelt wird? Oder holst Du direkt alles aus mqtt Nodes? Wenn ja dann kommen da auch nur strings raus - dann musst Du in Zahlen mit Numbers umwandeln - einfach JSONATA erweitern.

      Dann einfach ein $number drum rum machen:

      $number(
         $formatNumber(
             payload,
             "#,00",
             {
                 'decimal-separator':',',
                 'grouping-separator':'.'
             } 
         )
      )
      

      Cool, wird sofort getestet. Dass wäre ja ein Ding. Du glaubst gar nicht was ich schon gesucht habe.

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

      @garf Halt war ein Fehler von mir - richtig muss es so aussehen:

      $formatNumber(
         $number(payload),
         "#,00",
         {
             'decimal-separator':',',
             'grouping-separator':'.'
         } 
      )
      

      damit funtkioniert es auch mit strings als Eingabe:

      ec38b900-0b4d-47df-a0a3-681ebcc5c0d7-image.png

      4b41a294-f896-4a2e-92b1-3d98b495b164-image.png

      [
         {
             "id": "579569f5.ebb9c8",
             "type": "change",
             "z": "43977b1e.ee9a14",
             "name": "Zahlen Komma",
             "rules": [
                 {
                     "t": "set",
                     "p": "payload",
                     "pt": "msg",
                     "to": "$formatNumber(\t   $number(payload),\t   \"#,00\",\t   {\t       'decimal-separator':',',\t       'grouping-separator':'.'\t   } \t)",
                     "tot": "jsonata"
                 }
             ],
             "action": "",
             "property": "",
             "from": "",
             "to": "",
             "reg": false,
             "x": 960,
             "y": 120,
             "wires": [
                 [
                     "62823f6c.14d78"
                 ]
             ]
         }
      ]
      

      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.

      G 1 Antwort Letzte Antwort
      0
      • mickymM mickym

        @garf Halt war ein Fehler von mir - richtig muss es so aussehen:

        $formatNumber(
           $number(payload),
           "#,00",
           {
               'decimal-separator':',',
               'grouping-separator':'.'
           } 
        )
        

        damit funtkioniert es auch mit strings als Eingabe:

        ec38b900-0b4d-47df-a0a3-681ebcc5c0d7-image.png

        4b41a294-f896-4a2e-92b1-3d98b495b164-image.png

        [
           {
               "id": "579569f5.ebb9c8",
               "type": "change",
               "z": "43977b1e.ee9a14",
               "name": "Zahlen Komma",
               "rules": [
                   {
                       "t": "set",
                       "p": "payload",
                       "pt": "msg",
                       "to": "$formatNumber(\t   $number(payload),\t   \"#,00\",\t   {\t       'decimal-separator':',',\t       'grouping-separator':'.'\t   } \t)",
                       "tot": "jsonata"
                   }
               ],
               "action": "",
               "property": "",
               "from": "",
               "to": "",
               "reg": false,
               "x": 960,
               "y": 120,
               "wires": [
                   [
                       "62823f6c.14d78"
                   ]
               ]
           }
        ]
        

        G Offline
        G Offline
        Garf
        schrieb am zuletzt editiert von Garf
        #36

        @mickym sagte in Datenpunkt in LOG oder CSV File schreiben:

        damit funtkioniert es auch mit strings als Eingabe

        Ja, funktionert 1A und ich kann auf das function Node verzichten. Auf diese Lösung wäre ich alleine in hundert Jahren wohl nicht gekommen. Gut, dass ich viel mitlese und dann auch mal nachfrage. Danke dir, ich mache dann mal weiter mit meiner Datenbank.

        mickymM 1 Antwort Letzte Antwort
        0
        • G Garf

          @mickym sagte in Datenpunkt in LOG oder CSV File schreiben:

          damit funtkioniert es auch mit strings als Eingabe

          Ja, funktionert 1A und ich kann auf das function Node verzichten. Auf diese Lösung wäre ich alleine in hundert Jahren wohl nicht gekommen. Gut, dass ich viel mitlese und dann auch mal nachfrage. Danke dir, ich mache dann mal weiter mit meiner Datenbank.

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

          @garf sagte in Datenpunkt in LOG oder CSV File schreiben:

          @mickym sagte in Datenpunkt in LOG oder CSV File schreiben:

          damit funtkioniert es auch mit strings als Eingabe

          Ja, funktionert 1A und ich kann auf das function Node verzichten. Auf diese Lösung wäre ich alleine in hundert Jahren wohl nicht gekommen. Gut, dass ich viel mitlese und dann auch mal nachfrage. Danke dir, ich mache dann mal weiter mit meiner Datenbank.

          Schön, dass es funktioniert - unter JSONATA gibts auch für Strings eine Replace Funktion mit der Du Punkt gegen Komma tauschen kannst - allerdings hast Du mit meiner vorgeschlagenen Lösung, dass korrekt gerundet wird.

          Bei Stringmanipulationen hast Du verschiedene Möglichkeiten:

          dc4e6e1b-789b-4c95-bd92-0d3982e711d2-image.png

          oder natürlich eine einfache Change Node. ;)

          f6e847e0-c73d-41d3-b2c3-bd464f47873a-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.

          G 1 Antwort Letzte Antwort
          0
          • mickymM mickym

            @garf sagte in Datenpunkt in LOG oder CSV File schreiben:

            @mickym sagte in Datenpunkt in LOG oder CSV File schreiben:

            damit funtkioniert es auch mit strings als Eingabe

            Ja, funktionert 1A und ich kann auf das function Node verzichten. Auf diese Lösung wäre ich alleine in hundert Jahren wohl nicht gekommen. Gut, dass ich viel mitlese und dann auch mal nachfrage. Danke dir, ich mache dann mal weiter mit meiner Datenbank.

            Schön, dass es funktioniert - unter JSONATA gibts auch für Strings eine Replace Funktion mit der Du Punkt gegen Komma tauschen kannst - allerdings hast Du mit meiner vorgeschlagenen Lösung, dass korrekt gerundet wird.

            Bei Stringmanipulationen hast Du verschiedene Möglichkeiten:

            dc4e6e1b-789b-4c95-bd92-0d3982e711d2-image.png

            oder natürlich eine einfache Change Node. ;)

            f6e847e0-c73d-41d3-b2c3-bd464f47873a-image.png

            G Offline
            G Offline
            Garf
            schrieb am zuletzt editiert von
            #38

            @mickym sagte in Datenpunkt in LOG oder CSV File schreiben:

            oder natürlich eine einfache Change Node

            Auf die einfachste Lösung kommt man erst gar nicht. Aber das Ergebnis mit JSONata ist deutlich besser und mit den beiden Nachkommastellen gefällt es mir dann wirklich gut. Jedoch zeigt sich noch ein Problem, welches ich mir so gar nicht erklären kann. Bei der Niederschlagsmenge 0 kommt folgendes Zahlenwerk heraus: ,00. In der csv-Datei wird dieser Makel dann schon fast wieder vollständig behoben. aber schöner wäre natrlich 0,00. Hast Du vielleicht noch eine Idee?

            Nullwert.JPG

            csv-Tabelle.JPG

            mickymM 1 Antwort Letzte Antwort
            0
            • G Garf

              @mickym sagte in Datenpunkt in LOG oder CSV File schreiben:

              oder natürlich eine einfache Change Node

              Auf die einfachste Lösung kommt man erst gar nicht. Aber das Ergebnis mit JSONata ist deutlich besser und mit den beiden Nachkommastellen gefällt es mir dann wirklich gut. Jedoch zeigt sich noch ein Problem, welches ich mir so gar nicht erklären kann. Bei der Niederschlagsmenge 0 kommt folgendes Zahlenwerk heraus: ,00. In der csv-Datei wird dieser Makel dann schon fast wieder vollständig behoben. aber schöner wäre natrlich 0,00. Hast Du vielleicht noch eine Idee?

              Nullwert.JPG

              csv-Tabelle.JPG

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

              @garf Gib einfach in den Format string "0,00" statt "#,00" ein.

              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.

              G 1 Antwort Letzte Antwort
              0
              • mickymM mickym

                @garf Gib einfach in den Format string "0,00" statt "#,00" ein.

                G Offline
                G Offline
                Garf
                schrieb am zuletzt editiert von
                #40

                @mickym
                Hä, passt so. Irgendwie hatte ich dass mit dem Doppelkreuz anders verstanden. Gut bei Excel gibt es das Dateiformat vor. Egal es funktioniert mit diesem Format 0,00, mehr brauchts dann auch nicht. Vielen Dank für deine Hilfe. Das Logthema wäre dann für mich vorerst abgeschlossen. :blush:

                mickymM 1 Antwort Letzte Antwort
                0
                • G Garf

                  @mickym
                  Hä, passt so. Irgendwie hatte ich dass mit dem Doppelkreuz anders verstanden. Gut bei Excel gibt es das Dateiformat vor. Egal es funktioniert mit diesem Format 0,00, mehr brauchts dann auch nicht. Vielen Dank für deine Hilfe. Das Logthema wäre dann für mich vorerst abgeschlossen. :blush:

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

                  @garf Das Doppelkreuz heisst in der Regel wird weggelassen wenn führende oder hinten 0 - 0 heißt wird immer die Zahl - also auch die 0 geschrieben.

                  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.

                  G 1 Antwort Letzte Antwort
                  0
                  • mickymM mickym

                    @garf Das Doppelkreuz heisst in der Regel wird weggelassen wenn führende oder hinten 0 - 0 heißt wird immer die Zahl - also auch die 0 geschrieben.

                    G Offline
                    G Offline
                    Garf
                    schrieb am zuletzt editiert von
                    #42

                    @mickym
                    Danke für die Erklärung, die speicher ich mir direkt mal ab.:+1:

                    1 Antwort Letzte Antwort
                    0
                    • Basti97B Offline
                      Basti97B Offline
                      Basti97
                      Most Active
                      schrieb am zuletzt editiert von
                      #43

                      Hallo
                      Würde es auch funktionieren wenn ich die csv (also die Excel Tabelle) auf einen Netzwerklaufwerk was ich unter Linux eingebunden habe zu speichern?
                      Oder gibt es mittlerweile einen Adapter der das ganze einfacher Zu Handeln lässt.

                      Iobroker läuft als VM auf Proxmoxserver x folgende Hersteller im Einsatz Sonoff, Gosund, Siemens x Aofo über Tasmota x Zigbee x das Smarthome wächst und wächst

                      mickymM 1 Antwort Letzte Antwort
                      0
                      • Basti97B Basti97

                        Hallo
                        Würde es auch funktionieren wenn ich die csv (also die Excel Tabelle) auf einen Netzwerklaufwerk was ich unter Linux eingebunden habe zu speichern?
                        Oder gibt es mittlerweile einen Adapter der das ganze einfacher Zu Handeln lässt.

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

                        @basti97 sagte in Datenpunkt in LOG oder CSV File schreiben:

                        Hallo
                        Würde es auch funktionieren wenn ich die csv (also die Excel Tabelle) auf einen Netzwerklaufwerk was ich unter Linux eingebunden habe zu speichern?
                        Oder gibt es mittlerweile einen Adapter der das ganze einfacher Zu Handeln lässt.

                        Ja das geht - wenn per Default Schreibrechte nach dem Mounten vorhanden sind. Ich hab das nach langem hin und her nun bei mir so gelöst, wenn es ein Windows Netzlaufwerk ist - wahrscheinlich kann man das aber bei anderen Dateisystemen auch so machen

                        file_mode=0664,dir_mode=0775
                        

                        die volle Zeile aus der fstab

                        //Server/Share    /home/pi/Verzeichnis      cifs    vers=3.0,rw,noauto,users,file_mode=0664,dir_mode=0775,credentials=/home/pi/.smbcredentials      0       0
                        

                        Bei Dir wird halt auto .- statt noauto drin stehen.

                        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.

                        Basti97B 1 Antwort Letzte Antwort
                        0
                        • mickymM mickym

                          @basti97 sagte in Datenpunkt in LOG oder CSV File schreiben:

                          Hallo
                          Würde es auch funktionieren wenn ich die csv (also die Excel Tabelle) auf einen Netzwerklaufwerk was ich unter Linux eingebunden habe zu speichern?
                          Oder gibt es mittlerweile einen Adapter der das ganze einfacher Zu Handeln lässt.

                          Ja das geht - wenn per Default Schreibrechte nach dem Mounten vorhanden sind. Ich hab das nach langem hin und her nun bei mir so gelöst, wenn es ein Windows Netzlaufwerk ist - wahrscheinlich kann man das aber bei anderen Dateisystemen auch so machen

                          file_mode=0664,dir_mode=0775
                          

                          die volle Zeile aus der fstab

                          //Server/Share    /home/pi/Verzeichnis      cifs    vers=3.0,rw,noauto,users,file_mode=0664,dir_mode=0775,credentials=/home/pi/.smbcredentials      0       0
                          

                          Bei Dir wird halt auto .- statt noauto drin stehen.

                          Basti97B Offline
                          Basti97B Offline
                          Basti97
                          Most Active
                          schrieb am zuletzt editiert von
                          #45

                          @mickym es wäre bei mir Linux. Ich könnte ihn doch einfach als Netzwerklaufwerk hinzufügen. Und den Pfad eingeben. Den unterschied wird doch node red nicht erkennen oder. Das muss ich mal am we probieren. Was schreibst du für Daten eigentlich in die Excel Tabelle. Ich dachte an den Stromverbrauch. Ich weiß aber nicht so richtig ob das ganze Sinn macht da ich auch eine influx DB habe. Was meinst du dazu?

                          Iobroker läuft als VM auf Proxmoxserver x folgende Hersteller im Einsatz Sonoff, Gosund, Siemens x Aofo über Tasmota x Zigbee x das Smarthome wächst und wächst

                          mickymM 1 Antwort Letzte Antwort
                          0
                          • Basti97B Basti97

                            @mickym es wäre bei mir Linux. Ich könnte ihn doch einfach als Netzwerklaufwerk hinzufügen. Und den Pfad eingeben. Den unterschied wird doch node red nicht erkennen oder. Das muss ich mal am we probieren. Was schreibst du für Daten eigentlich in die Excel Tabelle. Ich dachte an den Stromverbrauch. Ich weiß aber nicht so richtig ob das ganze Sinn macht da ich auch eine influx DB habe. Was meinst du dazu?

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

                            @basti97 Ich erklärte doch wie Du unter Linux das Netzlaufwerk einbindest. - Fürs permanente Sammeln würde ich auch lieber InfluxDB nutzen - ich beschäftige mich gerade damit (als Noob ein bisschen) und denke gerade dafür ist so eine Timeseries DB schon am Besten geeignet. Im Prinzip müsste es damit auch gehen über den output agent direkt csv Dateien zu schreiben. Hab ich aber noch nicht probiert.

                            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.

                            Basti97B 1 Antwort Letzte Antwort
                            0
                            • mickymM mickym

                              @basti97 Ich erklärte doch wie Du unter Linux das Netzlaufwerk einbindest. - Fürs permanente Sammeln würde ich auch lieber InfluxDB nutzen - ich beschäftige mich gerade damit (als Noob ein bisschen) und denke gerade dafür ist so eine Timeseries DB schon am Besten geeignet. Im Prinzip müsste es damit auch gehen über den output agent direkt csv Dateien zu schreiben. Hab ich aber noch nicht probiert.

                              Basti97B Offline
                              Basti97B Offline
                              Basti97
                              Most Active
                              schrieb am zuletzt editiert von
                              #47

                              @mickym Achso ich dachte das wer für Windows die anweisung Entschuldigung. Ich bin noch nicht so der kenner aber könnte man aus Influx DB oder Grafana auch eine csv Datei exportieren. Zum Beispiel wo der Energieverbrauch für das Jahr drauf ist. Oder was auch ein bsp ist, wäre den Ertrag der PV Anlage in einer excel zuspeichern von influxdb oder grafana.

                              Iobroker läuft als VM auf Proxmoxserver x folgende Hersteller im Einsatz Sonoff, Gosund, Siemens x Aofo über Tasmota x Zigbee x das Smarthome wächst und wächst

                              mickymM 1 Antwort Letzte Antwort
                              0
                              • Basti97B Basti97

                                @mickym Achso ich dachte das wer für Windows die anweisung Entschuldigung. Ich bin noch nicht so der kenner aber könnte man aus Influx DB oder Grafana auch eine csv Datei exportieren. Zum Beispiel wo der Energieverbrauch für das Jahr drauf ist. Oder was auch ein bsp ist, wäre den Ertrag der PV Anlage in einer excel zuspeichern von influxdb oder grafana.

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

                                @basti97 sagte in Datenpunkt in LOG oder CSV File schreiben:

                                Achso ich dachte das wer für Windows die anweisung Entschuldigung.

                                Es war die Anweisung - wie Du ein Windowslaufwerk unter LINUX einbindest.

                                Im Prinzip kannst Du es aber auch für andere Dateisysteme nutzen, wichtig ist der file und dir mode - damit Du Schreibrechte nach dem mounten hast.

                                Zum Thema Influx DB - manuell kannst Du die Daten ja jederzeit in eine CSV downloaden über den DataExplorer.

                                dafec382-02b3-4f95-97ee-b29d9c3cef50-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.

                                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

                                535

                                Online

                                32.4k

                                Benutzer

                                81.4k

                                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