Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. Werte aus Smartmeter Adapter in Excel exportieren

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

Werte aus Smartmeter Adapter in Excel exportieren

Scheduled Pinned Locked Moved JavaScript
45 Posts 9 Posters 7.1k Views 13 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • bahnuhrB bahnuhr

    @pat

    Das hab ich @franzda in seinem anderen thread schon gezeigt.
    Dort auch bisher keine Rückinfo.

    @franzda
    Bitte keine Doppelthreads

    H Offline
    H Offline
    huhie
    wrote on last edited by
    #33

    Hey ho Zusammen,

    ich brauche euche geballte Ladung Wissen. Da ich mich mit diesem Skript echt schwer tue und nicht weiter komme... :(

    ich bin auf diesen Thread gestossen und habe mich daran versucht. Mein BKW läuft nun einwandfrei
    und ich würde gerade die Daten des Stromverbrauchs tgl. morgens, sagen wir um 8 Uhr, in eine Excel Tabelle schreiben wollen. Also Stromverbrauch und Stromeinspeisung.

    Ich nutze den iobroke auf einer synology.

    Der Ordner zu den Daten von iobroker liegt im Ordner nas/docker/iobroker/data

    Der Ordner in dem die datei liegt, welche geschrieben werden soll liegt im Ordner nas/oeffentlich/finanzen

    Wie mounte ich das Verzeichnis bzw. wie muss das Skript dann aussehen?

    Das Log sagt aktuell schon:

    javascript.0 error at Script.runInContext (node:vm:135:12)
    javascript.0 error at script.js.1.stromzaehler_nach_excel:13:3
    javascript.0 error at script.js.1.stromzaehler_nach_excel:2:28
    javascript.0 error script.js.1.stromzaehler_nach_excel: TypeError: Cannot read properties of undefined (reading 'Workbook')
    javascript.0 error at Script.runInContext (node:vm:135:12)
    javascript.0 error at script.js.1.stromzaehler_nach_excel:13:3
    javascript.0 error at script.js.1.stromzaehler_nach_excel:1:17
    javascript.0 error at require (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:516:32)
    javascript.0 error at require (node:internal/modules/cjs/helpers:121:18)
    javascript.0 error at Module.require (node:internal/modules/cjs/loader:1143:19)
    javascript.0 error script.js.1.stromzaehler_nach_excel: Error: Cannot find module 'exceljs'

    Das Module exceljs steht aber unter der Instanz javascript.0

    2023-08-24 14_20_25-instances - iobroker und 9 weitere Seiten - Persönlich – Microsoft​ Edge.png

    Mein Skript sieht aktuell wie folgt aus:

    const ExcelJS = require('exceljs');
    var workbook = new ExcelJS.Workbook();
     
    workbook.xlsx.readFile('/iobroker-data/zaehlerstaende/test.xlsx').then(function() {
    var worksheet = workbook.getWorksheet('test');
     
    console.log (worksheet.getCell('A1').value);
    log (worksheet.getCell(1,3).value);
     
        worksheet.getCell('A3').value = 'Hallo Welt'; // einer Zelle einen Wert zuweisen
        workbook.xlsx.writeFile('/iobroker-data/zaehlerstaende/test.xlsx'); // Excel wird neu gespeichert
    });
    

    Ich würde mich freuen, wenn mir hier jemand bis zum finalen funktionieren des Skriptes helfen könnte.

    Wird der Eintrag in der Excel dann jeden Tag überschrieben, oder kann man auch sagen, das immer eine Zelle weiter beschrieben wird? So dass es quasi eine Liste wird?

    viele Grüße Huhie

    OliverIOO bahnuhrB 2 Replies Last reply
    0
    • H huhie

      Hey ho Zusammen,

      ich brauche euche geballte Ladung Wissen. Da ich mich mit diesem Skript echt schwer tue und nicht weiter komme... :(

      ich bin auf diesen Thread gestossen und habe mich daran versucht. Mein BKW läuft nun einwandfrei
      und ich würde gerade die Daten des Stromverbrauchs tgl. morgens, sagen wir um 8 Uhr, in eine Excel Tabelle schreiben wollen. Also Stromverbrauch und Stromeinspeisung.

      Ich nutze den iobroke auf einer synology.

      Der Ordner zu den Daten von iobroker liegt im Ordner nas/docker/iobroker/data

      Der Ordner in dem die datei liegt, welche geschrieben werden soll liegt im Ordner nas/oeffentlich/finanzen

      Wie mounte ich das Verzeichnis bzw. wie muss das Skript dann aussehen?

      Das Log sagt aktuell schon:

      javascript.0 error at Script.runInContext (node:vm:135:12)
      javascript.0 error at script.js.1.stromzaehler_nach_excel:13:3
      javascript.0 error at script.js.1.stromzaehler_nach_excel:2:28
      javascript.0 error script.js.1.stromzaehler_nach_excel: TypeError: Cannot read properties of undefined (reading 'Workbook')
      javascript.0 error at Script.runInContext (node:vm:135:12)
      javascript.0 error at script.js.1.stromzaehler_nach_excel:13:3
      javascript.0 error at script.js.1.stromzaehler_nach_excel:1:17
      javascript.0 error at require (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:516:32)
      javascript.0 error at require (node:internal/modules/cjs/helpers:121:18)
      javascript.0 error at Module.require (node:internal/modules/cjs/loader:1143:19)
      javascript.0 error script.js.1.stromzaehler_nach_excel: Error: Cannot find module 'exceljs'

      Das Module exceljs steht aber unter der Instanz javascript.0

      2023-08-24 14_20_25-instances - iobroker und 9 weitere Seiten - Persönlich – Microsoft​ Edge.png

      Mein Skript sieht aktuell wie folgt aus:

      const ExcelJS = require('exceljs');
      var workbook = new ExcelJS.Workbook();
       
      workbook.xlsx.readFile('/iobroker-data/zaehlerstaende/test.xlsx').then(function() {
      var worksheet = workbook.getWorksheet('test');
       
      console.log (worksheet.getCell('A1').value);
      log (worksheet.getCell(1,3).value);
       
          worksheet.getCell('A3').value = 'Hallo Welt'; // einer Zelle einen Wert zuweisen
          workbook.xlsx.writeFile('/iobroker-data/zaehlerstaende/test.xlsx'); // Excel wird neu gespeichert
      });
      

      Ich würde mich freuen, wenn mir hier jemand bis zum finalen funktionieren des Skriptes helfen könnte.

      Wird der Eintrag in der Excel dann jeden Tag überschrieben, oder kann man auch sagen, das immer eine Zelle weiter beschrieben wird? So dass es quasi eine Liste wird?

      viele Grüße Huhie

      OliverIOO Offline
      OliverIOO Offline
      OliverIO
      wrote on last edited by OliverIO
      #34

      @huhie
      ich habe mir den thread aus der vergangenheit mal angeschaut.
      exceljs ist zwar sehr gut, aber für so einen zweck für leute mit beschränkten js kenntnissen halt schon nicht so einfach.

      wenn es um einfache fortschreibung geht, würde ich einfach in eine csv datei schreiben
      csv ist sehr simple aufgebaut (eine zeile mit den feld titel, danach immer zeilen mit den einzelnen datensätzen, bei der jedes feld mit einem trenner (komme, semicolon, tab, etc getrennt ist).
      diese dateien kann excel sehr gut einlesen, man kann sie auch einbinden, so das das excel von diesen dateien immer aktualisiert wird.

      dann kann man in excel mit den daten machen was man will.

      gehen wir davon aus, man hat bereits eine csv datei manuell erstellt, die wie folgt aussieht

      datum,wert1,wert2,wert3
      01.01.2023,3,2,1
      01.02.2023,4,3,2
      

      und da möchte man dann einen datensatz anfügen, dann kann der code ausschnitt so aussehen:

      const fs = require('fs');
      let filename = "werte.csv";
      let fields = [
        "01.03.2023",
        5,
        6,
        7
      ];
      fs.appendFileSync(filename, fields.join(",") + "\n");
      
      

      wenn du dennoch mit exceljs weiter machen willst, dann sieht deine konfiguration erst einmal richtig aus. schau mal in das generelle iobroker log, ob beim hinzufügen des exceljs moduls etwas schief gegangen ist. du kannst das auch wieder herauslöschen, speichern und wieder hinzufügen und dann speichern

      Meine Adapter und Widgets
      TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
      Links im Profil

      H 1 Reply Last reply
      0
      • H huhie

        Hey ho Zusammen,

        ich brauche euche geballte Ladung Wissen. Da ich mich mit diesem Skript echt schwer tue und nicht weiter komme... :(

        ich bin auf diesen Thread gestossen und habe mich daran versucht. Mein BKW läuft nun einwandfrei
        und ich würde gerade die Daten des Stromverbrauchs tgl. morgens, sagen wir um 8 Uhr, in eine Excel Tabelle schreiben wollen. Also Stromverbrauch und Stromeinspeisung.

        Ich nutze den iobroke auf einer synology.

        Der Ordner zu den Daten von iobroker liegt im Ordner nas/docker/iobroker/data

        Der Ordner in dem die datei liegt, welche geschrieben werden soll liegt im Ordner nas/oeffentlich/finanzen

        Wie mounte ich das Verzeichnis bzw. wie muss das Skript dann aussehen?

        Das Log sagt aktuell schon:

        javascript.0 error at Script.runInContext (node:vm:135:12)
        javascript.0 error at script.js.1.stromzaehler_nach_excel:13:3
        javascript.0 error at script.js.1.stromzaehler_nach_excel:2:28
        javascript.0 error script.js.1.stromzaehler_nach_excel: TypeError: Cannot read properties of undefined (reading 'Workbook')
        javascript.0 error at Script.runInContext (node:vm:135:12)
        javascript.0 error at script.js.1.stromzaehler_nach_excel:13:3
        javascript.0 error at script.js.1.stromzaehler_nach_excel:1:17
        javascript.0 error at require (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:516:32)
        javascript.0 error at require (node:internal/modules/cjs/helpers:121:18)
        javascript.0 error at Module.require (node:internal/modules/cjs/loader:1143:19)
        javascript.0 error script.js.1.stromzaehler_nach_excel: Error: Cannot find module 'exceljs'

        Das Module exceljs steht aber unter der Instanz javascript.0

        2023-08-24 14_20_25-instances - iobroker und 9 weitere Seiten - Persönlich – Microsoft​ Edge.png

        Mein Skript sieht aktuell wie folgt aus:

        const ExcelJS = require('exceljs');
        var workbook = new ExcelJS.Workbook();
         
        workbook.xlsx.readFile('/iobroker-data/zaehlerstaende/test.xlsx').then(function() {
        var worksheet = workbook.getWorksheet('test');
         
        console.log (worksheet.getCell('A1').value);
        log (worksheet.getCell(1,3).value);
         
            worksheet.getCell('A3').value = 'Hallo Welt'; // einer Zelle einen Wert zuweisen
            workbook.xlsx.writeFile('/iobroker-data/zaehlerstaende/test.xlsx'); // Excel wird neu gespeichert
        });
        

        Ich würde mich freuen, wenn mir hier jemand bis zum finalen funktionieren des Skriptes helfen könnte.

        Wird der Eintrag in der Excel dann jeden Tag überschrieben, oder kann man auch sagen, das immer eine Zelle weiter beschrieben wird? So dass es quasi eine Liste wird?

        viele Grüße Huhie

        bahnuhrB Online
        bahnuhrB Online
        bahnuhr
        Forum Testing Most Active
        wrote on last edited by
        #35

        @huhie

        Da du mich einfach mal so negativ bewertest:

        cefda88a-3014-468c-b517-87021fc191ca-image.png

        erwartest du nicht wirklich eine Antwort von mir.


        Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
        Danke.
        gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
        ScreenToGif :https://www.screentogif.com/downloads.html

        F 1 Reply Last reply
        0
        • bahnuhrB bahnuhr

          @huhie

          Da du mich einfach mal so negativ bewertest:

          cefda88a-3014-468c-b517-87021fc191ca-image.png

          erwartest du nicht wirklich eine Antwort von mir.

          F Offline
          F Offline
          fastfoot
          wrote on last edited by
          #36

          @bahnuhr wie kann man sich denn downvoter ansehen?

          iobroker läuft unter Docker auf QNAP TS-451+
          SkriptRecovery: https://forum.iobroker.net/post/930558

          bahnuhrB 1 Reply Last reply
          0
          • F fastfoot

            @bahnuhr wie kann man sich denn downvoter ansehen?

            bahnuhrB Online
            bahnuhrB Online
            bahnuhr
            Forum Testing Most Active
            wrote on last edited by
            #37

            @fastfoot

            doppelklick auf die Zahl.
            Dann siehst du wer up und down gevotet hat.


            Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
            Danke.
            gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
            ScreenToGif :https://www.screentogif.com/downloads.html

            F DJMarc75D 2 Replies Last reply
            2
            • bahnuhrB bahnuhr

              @fastfoot

              doppelklick auf die Zahl.
              Dann siehst du wer up und down gevotet hat.

              F Offline
              F Offline
              fastfoot
              wrote on last edited by
              #38

              @bahnuhr Danke! Darauf wäre ich nie gekommen

              iobroker läuft unter Docker auf QNAP TS-451+
              SkriptRecovery: https://forum.iobroker.net/post/930558

              1 Reply Last reply
              0
              • bahnuhrB bahnuhr

                @fastfoot

                doppelklick auf die Zahl.
                Dann siehst du wer up und down gevotet hat.

                DJMarc75D Offline
                DJMarc75D Offline
                DJMarc75
                wrote on last edited by
                #39

                @bahnuhr sagte in Werte aus Smartmeter Adapter in Excel exportieren:

                doppelklick auf die Zahl

                um nicht die Lebensdauer unnötig zu verkürzen reicht auch ein Einzelklick :clown_face: :grinning:

                Lehrling seit 1975 !!!
                Beitrag geholfen ? dann gerne ein upvote rechts unten im Beitrag klicken ;)
                https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge

                bahnuhrB 1 Reply Last reply
                2
                • DJMarc75D DJMarc75

                  @bahnuhr sagte in Werte aus Smartmeter Adapter in Excel exportieren:

                  doppelklick auf die Zahl

                  um nicht die Lebensdauer unnötig zu verkürzen reicht auch ein Einzelklick :clown_face: :grinning:

                  bahnuhrB Online
                  bahnuhrB Online
                  bahnuhr
                  Forum Testing Most Active
                  wrote on last edited by
                  #40

                  @djmarc75 sagte in Werte aus Smartmeter Adapter in Excel exportieren:

                  @bahnuhr sagte in Werte aus Smartmeter Adapter in Excel exportieren:

                  doppelklick auf die Zahl

                  um nicht die Lebensdauer unnötig zu verkürzen reicht auch ein Einzelklick :clown_face: :grinning:

                  Ha, ist ja nen ding.
                  Hab ich ja immer unnötig geklickt ;-)


                  Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
                  Danke.
                  gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
                  ScreenToGif :https://www.screentogif.com/downloads.html

                  1 Reply Last reply
                  2
                  • H Offline
                    H Offline
                    huhie
                    wrote on last edited by
                    #41

                    @bahnuhr

                    Ich denke da habe ich wohl mal glatt einen Bedienfehler gemacht. Wenn das mit den Pfeilen unterhalb des Threads ist, dann war das ganz klar ein Versehen.

                    Ich dachte damit komme ich zum nächsten Eintrag. Hatte mich schon gewundert, dass da nichts passiert...

                    Das das ein Vote darstellt war mir nicht bewusst und tut mir leid.

                    Kann ich das rückgängig machen?

                    HomoranH DJMarc75D 2 Replies Last reply
                    0
                    • H huhie

                      @bahnuhr

                      Ich denke da habe ich wohl mal glatt einen Bedienfehler gemacht. Wenn das mit den Pfeilen unterhalb des Threads ist, dann war das ganz klar ein Versehen.

                      Ich dachte damit komme ich zum nächsten Eintrag. Hatte mich schon gewundert, dass da nichts passiert...

                      Das das ein Vote darstellt war mir nicht bewusst und tut mir leid.

                      Kann ich das rückgängig machen?

                      HomoranH Do not disturb
                      HomoranH Do not disturb
                      Homoran
                      Global Moderator Administrators
                      wrote on last edited by
                      #42

                      @huhie sagte in Werte aus Smartmeter Adapter in Excel exportieren:

                      Kann ich das rückgängig machen?

                      ja!
                      noch mal down

                      kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                      der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                      1 Reply Last reply
                      0
                      • H huhie

                        @bahnuhr

                        Ich denke da habe ich wohl mal glatt einen Bedienfehler gemacht. Wenn das mit den Pfeilen unterhalb des Threads ist, dann war das ganz klar ein Versehen.

                        Ich dachte damit komme ich zum nächsten Eintrag. Hatte mich schon gewundert, dass da nichts passiert...

                        Das das ein Vote darstellt war mir nicht bewusst und tut mir leid.

                        Kann ich das rückgängig machen?

                        DJMarc75D Offline
                        DJMarc75D Offline
                        DJMarc75
                        wrote on last edited by
                        #43

                        @huhie sagte in Werte aus Smartmeter Adapter in Excel exportieren:

                        Kann ich das rückgängig machen?

                        ja, in dem Du nochmals auf den "down" klickst...
                        Und lies auch mal den Beitrag in meiner Signatur bitte. Das kann helfen !

                        Lehrling seit 1975 !!!
                        Beitrag geholfen ? dann gerne ein upvote rechts unten im Beitrag klicken ;)
                        https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge

                        1 Reply Last reply
                        0
                        • OliverIOO OliverIO

                          @huhie
                          ich habe mir den thread aus der vergangenheit mal angeschaut.
                          exceljs ist zwar sehr gut, aber für so einen zweck für leute mit beschränkten js kenntnissen halt schon nicht so einfach.

                          wenn es um einfache fortschreibung geht, würde ich einfach in eine csv datei schreiben
                          csv ist sehr simple aufgebaut (eine zeile mit den feld titel, danach immer zeilen mit den einzelnen datensätzen, bei der jedes feld mit einem trenner (komme, semicolon, tab, etc getrennt ist).
                          diese dateien kann excel sehr gut einlesen, man kann sie auch einbinden, so das das excel von diesen dateien immer aktualisiert wird.

                          dann kann man in excel mit den daten machen was man will.

                          gehen wir davon aus, man hat bereits eine csv datei manuell erstellt, die wie folgt aussieht

                          datum,wert1,wert2,wert3
                          01.01.2023,3,2,1
                          01.02.2023,4,3,2
                          

                          und da möchte man dann einen datensatz anfügen, dann kann der code ausschnitt so aussehen:

                          const fs = require('fs');
                          let filename = "werte.csv";
                          let fields = [
                            "01.03.2023",
                            5,
                            6,
                            7
                          ];
                          fs.appendFileSync(filename, fields.join(",") + "\n");
                          
                          

                          wenn du dennoch mit exceljs weiter machen willst, dann sieht deine konfiguration erst einmal richtig aus. schau mal in das generelle iobroker log, ob beim hinzufügen des exceljs moduls etwas schief gegangen ist. du kannst das auch wieder herauslöschen, speichern und wieder hinzufügen und dann speichern

                          H Offline
                          H Offline
                          huhie
                          wrote on last edited by
                          #44

                          @oliverio

                          Kommen wir mal zurück zum Thema.

                          Ich würde mich der csv Variante mal annehmen. Die Frage ist wo muss die Datei denn in den iobroker Dateien liegen, damit die gefüllt wird?

                          Kannst Du mir das sagen?

                          OliverIOO 1 Reply Last reply
                          0
                          • H huhie

                            @oliverio

                            Kommen wir mal zurück zum Thema.

                            Ich würde mich der csv Variante mal annehmen. Die Frage ist wo muss die Datei denn in den iobroker Dateien liegen, damit die gefüllt wird?

                            Kannst Du mir das sagen?

                            OliverIOO Offline
                            OliverIOO Offline
                            OliverIO
                            wrote on last edited by
                            #45

                            @huhie
                            Es ist relativ egal wo die Datei liegt, sofern der User iobroker dort schreiben darf.
                            Ich glaube, weiß es nicht genau, das die Angabe nur eines Dateinamens direkt in /opt/iobroker schreibt.
                            Besser wäre in /opt/iobroker/iobroker-data/files
                            Zu schreiben. Um sicher zu gehen einfach den Dateinamen direkt mit einem absoluten Pfad angeben.

                            Meine Adapter und Widgets
                            TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                            Links im Profil

                            1 Reply Last reply
                            0
                            Reply
                            • Reply as topic
                            Log in to reply
                            • Oldest to Newest
                            • Newest to Oldest
                            • Most Votes


                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            675

                            Online

                            32.6k

                            Users

                            82.2k

                            Topics

                            1.3m

                            Posts
                            Community
                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                            ioBroker Community 2014-2025
                            logo
                            • Login

                            • Don't have an account? Register

                            • Login or register to search.
                            • First post
                              Last post
                            0
                            • Home
                            • Recent
                            • Tags
                            • Unread 0
                            • Categories
                            • Unreplied
                            • Popular
                            • GitHub
                            • Docu
                            • Hilfe