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

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

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

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.
  • 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
                                      • 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
                                        schrieb am zuletzt editiert von
                                        #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 Antwort Letzte Antwort
                                        0
                                        • F fastfoot

                                          @bahnuhr wie kann man sich denn downvoter ansehen?

                                          bahnuhrB Online
                                          bahnuhrB Online
                                          bahnuhr
                                          Forum Testing Most Active
                                          schrieb am zuletzt editiert von
                                          #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 Antworten Letzte Antwort
                                          2
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          451

                                          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