Weiter zum Inhalt
  • Home
  • Aktuell
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • 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

  • Der neue Monatsrückblick für September 2026 ist online!
    BluefoxB
    Bluefox
    9
    1
    555

  • Neu im Blog: Was die neue Website alles kann
    BluefoxB
    Bluefox
    7
    1
    329

  • Node.js 24 ist jetzt offiziell empfohlen!
    apollon77A
    apollon77
    9
    1
    674

Werte aus Smartmeter Adapter in Excel exportieren

Geplant Angeheftet Gesperrt Verschoben JavaScript
45 Beiträge 9 Kommentatoren 9.4k Aufrufe 13 Beobachtet
  • Ä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.
  • bahnuhrB bahnuhr

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

    falsche Anführungszeichen benutzt.

    Und wieder NEIN.

    getState schreibt man so!

    getState('smartmeter.1.1-0:2_8_0__255').val;

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

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

    getState('smartmeter.1.1-0:2_8_0__255').val;

    war auch falsch:
    richtig ist:
    getState("smartmeter.1.1-0:16_7_0__255.value").val

    Folgendes Script läuft. Hab es gerade getestet:

       var zaehler = getState("smartmeter.1.1-0:16_7_0__255.value").val
       log (zaehler);
       var Excel = require('exceljs');
       var workbook = new Excel.Workbook();
       workbook.xlsx.readFile("/mnt/test.xlsx")   
       .then(function() {
           var worksheet = workbook.getWorksheet('Messungen');
           worksheet.getCell('A2').value = zaehler;         // einer Zelle einen Wert zuweisen
           workbook.xlsx.writeFile('/mnt/test.xlsx'); // Excel wird neu gespeichert
       });
    
    

    Wichtig hierbei ist:
    Du musst den Pfad richtig ermitteln. Bei mir läuft iob in einer VM unter proxmox.
    Das Verzeichnis auf meinem win rechner ist gemountet mit der VM.

    mfg
    Dieter


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

    P 1 Antwort Letzte Antwort
    0
    • bahnuhrB bahnuhr

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

      getState('smartmeter.1.1-0:2_8_0__255').val;

      war auch falsch:
      richtig ist:
      getState("smartmeter.1.1-0:16_7_0__255.value").val

      Folgendes Script läuft. Hab es gerade getestet:

         var zaehler = getState("smartmeter.1.1-0:16_7_0__255.value").val
         log (zaehler);
         var Excel = require('exceljs');
         var workbook = new Excel.Workbook();
         workbook.xlsx.readFile("/mnt/test.xlsx")   
         .then(function() {
             var worksheet = workbook.getWorksheet('Messungen');
             worksheet.getCell('A2').value = zaehler;         // einer Zelle einen Wert zuweisen
             workbook.xlsx.writeFile('/mnt/test.xlsx'); // Excel wird neu gespeichert
         });
      
      

      Wichtig hierbei ist:
      Du musst den Pfad richtig ermitteln. Bei mir läuft iob in einer VM unter proxmox.
      Das Verzeichnis auf meinem win rechner ist gemountet mit der VM.

      mfg
      Dieter

      P
      P
      Pat
      schrieb am zuletzt editiert von
      #9

      @bahnuhr

      Hallo

      ich fange auch gerade an mich damit auseinander zusetzten.

      Wenn ich aber den Script 1 zu 1 kopiere kommt der fehler

      script.js.common.excel_test: TypeError: Cannot read property 'getCell' of undefined
      

      Woran kann das liegen.

      F 1 Antwort Letzte Antwort
      0
      • P Pat

        @bahnuhr

        Hallo

        ich fange auch gerade an mich damit auseinander zusetzten.

        Wenn ich aber den Script 1 zu 1 kopiere kommt der fehler

        script.js.common.excel_test: TypeError: Cannot read property 'getCell' of undefined
        

        Woran kann das liegen.

        F
        F
        fastfoot
        schrieb am zuletzt editiert von
        #10

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

        Woran kann das liegen.

        in deinem Excel fehlt das Worksheet Messungen

        iobroker läuft unter Docker auf Windows (WSL2)

        P 1 Antwort Letzte Antwort
        1
        • F fastfoot

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

          Woran kann das liegen.

          in deinem Excel fehlt das Worksheet Messungen

          P
          P
          Pat
          schrieb am zuletzt editiert von Pat
          #11

          @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
          });
          
          
          bahnuhrB F F 3 Antworten 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
            });
            
            
            bahnuhrB
            bahnuhrB
            bahnuhr
            Forum Testing Most Active
            schrieb am zuletzt editiert von
            #12

            @pat
            Habe dein Script gerade probiert.
            Es funktioniert einwandfrei.

            1209840f-317c-4ec8-81be-c49a8a4a5f44-image.png

            Frage:
            Stimmt der Pfad?
            Hast du ein Tabellenblatt mit "test"?


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

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

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

              aber irgendwie klappt das schreiben nicht.

              hat der user iobroker denn Schreibberechtigung auf /mnt/NAS?

              iobroker läuft unter Docker auf Windows (WSL2)

              P 1 Antwort Letzte Antwort
              1
              • F fastfoot

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

                aber irgendwie klappt das schreiben nicht.

                hat der user iobroker denn Schreibberechtigung auf /mnt/NAS?

                P
                P
                Pat
                schrieb am zuletzt editiert von
                #14

                @fastfoot

                Also Lesen kann ich wenn ich was händisch eintrage kann ich auch die Zellen auslesen.

                Beim schreiben kommt der Fehler. Ich hätte einfach mal schauen sollen im log. In der Console stand nix. :man-facepalming:

                javascript.0	2021-10-14 19:56:17.171	error	(8874) Error: EACCES: permission denied, open '/mnt/NAS/test.xlsx'
                javascript.0	2021-10-14 19:56:17.171	error	(8874) An error happened which is most likely from one of your scripts, but the originating script could not be detected.
                

                Ich habe schonmal geschaut also lese und schreib Rechte sind vergeben das sollte passen.
                Aber irdendetwas verhindert noch das schreiben.

                F 1 Antwort Letzte Antwort
                0
                • P Pat

                  @fastfoot

                  Also Lesen kann ich wenn ich was händisch eintrage kann ich auch die Zellen auslesen.

                  Beim schreiben kommt der Fehler. Ich hätte einfach mal schauen sollen im log. In der Console stand nix. :man-facepalming:

                  javascript.0	2021-10-14 19:56:17.171	error	(8874) Error: EACCES: permission denied, open '/mnt/NAS/test.xlsx'
                  javascript.0	2021-10-14 19:56:17.171	error	(8874) An error happened which is most likely from one of your scripts, but the originating script could not be detected.
                  

                  Ich habe schonmal geschaut also lese und schreib Rechte sind vergeben das sollte passen.
                  Aber irdendetwas verhindert noch das schreiben.

                  F
                  F
                  fastfoot
                  schrieb am zuletzt editiert von
                  #15

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

                  iobroker läuft unter Docker auf Windows (WSL2)

                  P 1 Antwort Letzte Antwort
                  0
                  • F fastfoot

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

                    P
                    P
                    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
                      F
                      fastfoot
                      schrieb am zuletzt editiert von
                      #17

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

                      iobroker läuft unter Docker auf Windows (WSL2)

                      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
                        bahnuhrB
                        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ür-gute-forenbeiträge
                        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
                          F
                          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 Windows (WSL2)

                          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
                            bahnuhrB
                            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ür-gute-forenbeiträge
                            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
                              P
                              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
                                bahnuhrB
                                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ür-gute-forenbeiträge
                                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
                                  P
                                  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
                                    F
                                    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 Windows (WSL2)

                                    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
                                      bahnuhrB
                                      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ür-gute-forenbeiträge
                                      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
                                        P
                                        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
                                          bahnuhrB
                                          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ür-gute-forenbeiträge
                                          ScreenToGif :https://www.screentogif.com/downloads.html

                                          F 1 Antwort Letzte Antwort
                                          0

                                          Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

                                          Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

                                          Mit deinem Input könnte dieser Beitrag noch besser werden 💗

                                          Registrieren Anmelden
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          486

                                          Online

                                          33.1k

                                          Benutzer

                                          84.0k

                                          Themen

                                          1.4m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2026
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe