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. JavaScript
  5. Werte aus Smartmeter Adapter in Excel exportieren

NEWS

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

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

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

Werte aus Smartmeter Adapter in Excel exportieren

Geplant Angeheftet Gesperrt Verschoben JavaScript
45 Beiträge 9 Kommentatoren 6.6k Aufrufe 13 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.
  • F fastfoot

    @pat wie wurde denn der Ordner konkret gemounted? Da fehlt die Schreibberechtigung

    P Offline
    P Offline
    Pat
    schrieb am zuletzt editiert von
    #16

    @fastfoot
    da ich schon andere dateien raus lese wurde ich sagen das er richtig gemounted ist. Aber ich habe noch nie geschrieben.
    Berechtigung.png

    Das wird wieder eine lange suche

    F bahnuhrB 2 Antworten Letzte Antwort
    0
    • P Pat

      @fastfoot
      da ich schon andere dateien raus lese wurde ich sagen das er richtig gemounted ist. Aber ich habe noch nie geschrieben.
      Berechtigung.png

      Das wird wieder eine lange suche

      F Offline
      F Offline
      fastfoot
      schrieb am zuletzt editiert von
      #17

      @pat dann beantworte die Frage wie der Ordner gemounted wird!

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

      P 1 Antwort Letzte Antwort
      0
      • P Pat

        @fastfoot
        da ich schon andere dateien raus lese wurde ich sagen das er richtig gemounted ist. Aber ich habe noch nie geschrieben.
        Berechtigung.png

        Das wird wieder eine lange suche

        bahnuhrB Online
        bahnuhrB Online
        bahnuhr
        Forum Testing Most Active
        schrieb am zuletzt editiert von
        #18

        @pat
        Ich bin absolut Linux Laie.
        Aber gibt es nicht den 777 Befehl.
        Damit müsste doch alle Rechte dann da sein.


        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 Antwort Letzte Antwort
        0
        • bahnuhrB bahnuhr

          @pat
          Ich bin absolut Linux Laie.
          Aber gibt es nicht den 777 Befehl.
          Damit müsste doch alle Rechte dann da sein.

          F Offline
          F Offline
          fastfoot
          schrieb am zuletzt editiert von
          #19

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

          @pat
          Ich bin absolut Linux Laie.
          Aber gibt es nicht den 777 Befehl.
          Damit müsste doch alle Rechte dann da sein.

          nein!

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

          bahnuhrB 1 Antwort Letzte Antwort
          0
          • F fastfoot

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

            @pat
            Ich bin absolut Linux Laie.
            Aber gibt es nicht den 777 Befehl.
            Damit müsste doch alle Rechte dann da sein.

            nein!

            bahnuhrB Online
            bahnuhrB Online
            bahnuhr
            Forum Testing Most Active
            schrieb am zuletzt editiert von
            #20

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

            nein!

            Ich sag es ja.
            War ein Versuch.


            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 Antwort Letzte Antwort
            0
            • F fastfoot

              @pat dann beantworte die Frage wie der Ordner gemounted wird!

              P Offline
              P Offline
              Pat
              schrieb am zuletzt editiert von Pat
              #21

              @fastfoot said in Werte aus Smartmeter Adapter in Excel exportieren:

              @pat dann beantworte die Frage wie der Ordner gemounted wird!

              im /etc/fstab dies

              //192.168.0.10/Dokumente/IObroker /mnt/NAS cifs uid=1000,gid=1000,rw,user,credentials=/home/pat/.smbzugang,vers=2.0  0 0
              

              eingetragen und im /home/pat/.smbzugang die zugangsdaten

              F 1 Antwort Letzte Antwort
              0
              • bahnuhrB Online
                bahnuhrB Online
                bahnuhr
                Forum Testing Most Active
                schrieb am zuletzt editiert von
                #22

                @fastfoot
                sudo mount -t cifs -o user=xxx,password=xxx,file_mode=0777,dir_mode=0777 //192.168.243.100/1_Sound /mnt

                Ich hatte das so realisiert.
                Und da ist doch dieses 777 mit drin ?

                Hatte ich hier aus dem Forum.


                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

                P 1 Antwort Letzte Antwort
                0
                • bahnuhrB bahnuhr

                  @fastfoot
                  sudo mount -t cifs -o user=xxx,password=xxx,file_mode=0777,dir_mode=0777 //192.168.243.100/1_Sound /mnt

                  Ich hatte das so realisiert.
                  Und da ist doch dieses 777 mit drin ?

                  Hatte ich hier aus dem Forum.

                  P Offline
                  P Offline
                  Pat
                  schrieb am zuletzt editiert von
                  #23

                  @bahnuhr
                  bin auch schon auf die Idee gekommen mit

                  /mnt/NAS$ chmod -v 777 test.xlsx
                  mode of 'test.xlsx' changed from 0755 (rwxr-xr-x) to 0777 (rwxrwxrwx)
                  
                  

                  er führt es aus aber behält es nicht

                  1 Antwort Letzte Antwort
                  0
                  • P Pat

                    @fastfoot said in Werte aus Smartmeter Adapter in Excel exportieren:

                    @pat dann beantworte die Frage wie der Ordner gemounted wird!

                    im /etc/fstab dies

                    //192.168.0.10/Dokumente/IObroker /mnt/NAS cifs uid=1000,gid=1000,rw,user,credentials=/home/pat/.smbzugang,vers=2.0  0 0
                    

                    eingetragen und im /home/pat/.smbzugang die zugangsdaten

                    F Offline
                    F Offline
                    fastfoot
                    schrieb am zuletzt editiert von
                    #24

                    @pat füge mal noch ,file_mode=0777,dir_mode=0777 ein, rw reicht da nicht

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

                    bahnuhrB P 2 Antworten Letzte Antwort
                    1
                    • F fastfoot

                      @pat füge mal noch ,file_mode=0777,dir_mode=0777 ein, rw reicht da nicht

                      bahnuhrB Online
                      bahnuhrB Online
                      bahnuhr
                      Forum Testing Most Active
                      schrieb am zuletzt editiert von
                      #25

                      @fastfoot
                      @Pat

                      Und dann hatte ich noch diesen Text im Web gefunden:

                      Befehl in konsole:
                      sudo mount -t cifs -o user=xxx,password=xxx,file_mode=0777,dir_mode=0777 //192.168.243.100/1_Sound /mnt

                      Das gemountete Verzeichnis steht bei Verwendung des mount-Befehls nur bis zu einem Neustart des Rechners
                      zur Verfügung. Damit die Windows-Freigabe automatisch beim Start des Systems eingebunden werden kann,
                      ist ein Eintrag in der Datei /etc/fstab notwendig. In dieser Datei sind alle Dateisysteme, welche vom
                      System gemountet werden sollen, eingetragen.

                      WINDOWS-FREIGABE ÜBER "FSTAB" EINHÄNGEN
                      Bei der Datei fstab (file system table) handelt es sich um eine normale ASCII-Datei. Der Eintrag kann
                      mit einem entsprechenden Editor vorgenommen werden.

                      nano /etc/fstab

                      //192.168.243.100/1_Sound /mnt cifs user=xxx,password=xxx,file_mode=0777,dir_mode=0777

                      Um zu prüfen, ob der Eintrag korrekt ist und das mounten klappt, muss der Rechner nicht neu gestartet
                      werden. Mit dem Kommando mount und der Option -a werden alle in der fstab eingetragenen Dateisysteme
                      gemountet. Damit das Ergebnis des Vorgangs auf dem Bildschirm erscheint, kann zusätzlich die Option v
                      verwendet werden.

                      mount -av

                      Für das "Aushängen" der Quelle steht der Befehl umount zur Verfügung.

                      umount /mnt

                      mfg
                      Dieter


                      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 Antwort Letzte Antwort
                      0
                      • F fastfoot

                        @pat füge mal noch ,file_mode=0777,dir_mode=0777 ein, rw reicht da nicht

                        P Offline
                        P Offline
                        Pat
                        schrieb am zuletzt editiert von
                        #26

                        @fastfoot said in Werte aus Smartmeter Adapter in Excel exportieren:

                        @pat füge mal noch ,file_mode=0777,dir_mode=0777 ein, rw reicht da nicht

                        jap das wars

                        bahnuhrB 1 Antwort Letzte Antwort
                        0
                        • P Pat

                          @fastfoot said in Werte aus Smartmeter Adapter in Excel exportieren:

                          @pat füge mal noch ,file_mode=0777,dir_mode=0777 ein, rw reicht da nicht

                          jap das wars

                          bahnuhrB Online
                          bahnuhrB Online
                          bahnuhr
                          Forum Testing Most Active
                          schrieb am zuletzt editiert von
                          #27

                          @fastfoot

                          Und warum schreibt du vorne 777 ist es nicht ?
                          Komisch.


                          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 Antwort Letzte Antwort
                          0
                          • bahnuhrB bahnuhr

                            @fastfoot

                            Und warum schreibt du vorne 777 ist es nicht ?
                            Komisch.

                            F Offline
                            F Offline
                            fastfoot
                            schrieb am zuletzt editiert von
                            #28

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

                            @fastfoot

                            Und warum schreibt du vorne 777 ist es nicht ?
                            Komisch.

                            weil mit der 777 Befehl doch sicherlich chmod 777 gemeint war, zumal da noch nicht klar war wie das gemounted wird. file_mode und dir_mode wiederum sind keine Befehle :-)

                            Du darfst aber jetzt das absolut vor absolut Linux Laie entfernen :wink:

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

                            frana120500F 1 Antwort Letzte Antwort
                            0
                            • F fastfoot

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

                              @fastfoot

                              Und warum schreibt du vorne 777 ist es nicht ?
                              Komisch.

                              weil mit der 777 Befehl doch sicherlich chmod 777 gemeint war, zumal da noch nicht klar war wie das gemounted wird. file_mode und dir_mode wiederum sind keine Befehle :-)

                              Du darfst aber jetzt das absolut vor absolut Linux Laie entfernen :wink:

                              frana120500F Offline
                              frana120500F Offline
                              frana120500
                              schrieb am zuletzt editiert von
                              #29

                              Mir ist das in der Tat zu kompliziert, da ich zu wenig Kenntnisse habe.

                              Ich scheitere schon daran, dass ich nicht weiß, wie ich einen lokalen Pfad auf meinem Rechner mounten kann.

                              Ich gehe jetzt den Weg anders herum und lasse aus Excel heraus den Wert über den Simple API Adapter per getPlainValue abfragen. Funktioniert prima

                              1 Antwort Letzte Antwort
                              0
                              • P Pat

                                @fastfoot
                                Verbuchen wir es mal unter "es war spät"

                                So daten lesen aus den Cellen funktioniert aber irgendwie klappt das schreiben nicht.

                                const ExcelJS = require('exceljs');
                                var workbook = new ExcelJS.Workbook();
                                
                                workbook.xlsx.readFile('/mnt/NAS/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('/mnt/NAS/test.xlsx'); // Excel wird neu gespeichert
                                });
                                
                                
                                F Offline
                                F Offline
                                franzda
                                schrieb am zuletzt editiert von
                                #30

                                @pat Hallo es ist zwar schon eine Weile her aber trotzden eine Frage zu eurem Thema

                                Ich habe mit sudo npm -i exceljs installiert

                                Trotzdem bekomme ich die Fehlermeldung (s.u.)
                                Was muss ich noch machen damit ich in iobroker javascript excel benutzen kann.

                                Wollte einfach testen: schon bei der script eingabe wird 'exceljs" unterstrichen.

                                var Excel = require('exceljs');
                                
                                const wb = new Excel.Workbook();
                                const ws = wb.addWorksheet('My Sheet');
                                
                                ws.addRows([
                                    [1, 2, 3, 4, 5],
                                    [6, 7, 8, 9, 10],
                                    [11, 12, 13, 14, 15],
                                    [16, 17, 18, 19, 20]]
                                );
                                
                                
                                javascript.0
                                2022-11-17 11:39:15.051	error	at require (node:internal/modules/cjs/helpers:103:18)
                                
                                javascript.0
                                2022-11-17 11:39:15.050	error	at Module.require (node:internal/modules/cjs/loader:1057:19)
                                
                                javascript.0
                                2022-11-17 11:39:15.050	error	script.js.common.iobroker1.test.excel1: Error: Cannot find module 'exceljs'
                                
                                P 1 Antwort Letzte Antwort
                                0
                                • F franzda

                                  @pat Hallo es ist zwar schon eine Weile her aber trotzden eine Frage zu eurem Thema

                                  Ich habe mit sudo npm -i exceljs installiert

                                  Trotzdem bekomme ich die Fehlermeldung (s.u.)
                                  Was muss ich noch machen damit ich in iobroker javascript excel benutzen kann.

                                  Wollte einfach testen: schon bei der script eingabe wird 'exceljs" unterstrichen.

                                  var Excel = require('exceljs');
                                  
                                  const wb = new Excel.Workbook();
                                  const ws = wb.addWorksheet('My Sheet');
                                  
                                  ws.addRows([
                                      [1, 2, 3, 4, 5],
                                      [6, 7, 8, 9, 10],
                                      [11, 12, 13, 14, 15],
                                      [16, 17, 18, 19, 20]]
                                  );
                                  
                                  
                                  javascript.0
                                  2022-11-17 11:39:15.051	error	at require (node:internal/modules/cjs/helpers:103:18)
                                  
                                  javascript.0
                                  2022-11-17 11:39:15.050	error	at Module.require (node:internal/modules/cjs/loader:1057:19)
                                  
                                  javascript.0
                                  2022-11-17 11:39:15.050	error	script.js.common.iobroker1.test.excel1: Error: Cannot find module 'exceljs'
                                  
                                  P Offline
                                  P Offline
                                  Pat
                                  schrieb am zuletzt editiert von
                                  #31

                                  @franzda
                                  js_ex.jpg

                                  Hast du in deiner Javascriptinstanz exceljs eingefügt ??

                                  bahnuhrB 1 Antwort Letzte Antwort
                                  0
                                  • P Pat

                                    @franzda
                                    js_ex.jpg

                                    Hast du in deiner Javascriptinstanz exceljs eingefügt ??

                                    bahnuhrB Online
                                    bahnuhrB Online
                                    bahnuhr
                                    Forum Testing Most Active
                                    schrieb am zuletzt editiert von
                                    #32

                                    @pat

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

                                    @franzda
                                    Bitte keine Doppelthreads


                                    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

                                    H 1 Antwort Letzte Antwort
                                    2
                                    • 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
                                      schrieb am zuletzt editiert von
                                      #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 Antworten Letzte Antwort
                                      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
                                        schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                                        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
                                          schrieb am zuletzt editiert von
                                          #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 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

                                          859

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          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