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. Blockly
  5. Mit exec in Dateisystem schreiben

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.4k

Mit exec in Dateisystem schreiben

Geplant Angeheftet Gesperrt Verschoben Blockly
28 Beiträge 4 Kommentatoren 124 Aufrufe 4 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.
  • David G.D David G.

    @MCU

    Die Ordner finde ich im Backup, nicht aber die Dateien.
    Wurden eben auch nicht offiziell an den iobroker übergeben.

    M Online
    M Online
    MCU
    schrieb am zuletzt editiert von MCU
    #6

    @David-G. Wie schreibst du die Dateien ins Verzeichnis?

    Wurden eben auch nicht offiziell an den iobroker übergeben.

    bedeutet?

    d77b485c-33ea-40a5-ae48-16651f20371e-image.png

    NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
    Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

    David G.D 1 Antwort Letzte Antwort
    0
    • M MCU

      @David-G. Wie schreibst du die Dateien ins Verzeichnis?

      Wurden eben auch nicht offiziell an den iobroker übergeben.

      bedeutet?

      d77b485c-33ea-40a5-ae48-16651f20371e-image.png

      David G.D Online
      David G.D Online
      David G.
      schrieb am zuletzt editiert von
      #7

      @MCU

      Schreibe erst mit echo eine html Datei.
      Dann schreibt WeasyPrint (gestartet per exec) daraus eine PDF.

      Zeigt eure Lovelace-Visualisierung klick
      (Auch ideal um sich Anregungen zu holen)

      Meine Tabellen für eure Visualisierung klick

      M 1 Antwort Letzte Antwort
      0
      • David G.D David G.

        @MCU

        Schreibe erst mit echo eine html Datei.
        Dann schreibt WeasyPrint (gestartet per exec) daraus eine PDF.

        M Online
        M Online
        MCU
        schrieb am zuletzt editiert von MCU
        #8

        @David-G. Ist das ein javascript Programm,stell es bitte rein,damit ich es nachvollziehen kann.

        NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
        Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

        David G.D 1 Antwort Letzte Antwort
        0
        • M MCU

          @David-G. Ist das ein javascript Programm,stell es bitte rein,damit ich es nachvollziehen kann.

          David G.D Online
          David G.D Online
          David G.
          schrieb am zuletzt editiert von
          #9

          @MCU

          Sehe grad, dass mir der iobroker unter Dateien keine Unterordner anzeigt.
          Werden diese evtl nicht unterstützt?

          Schreibe in
          /opt/iobroker/iobroker-data/files/0_userdata.0/abc/xyz

          Das ist der Script Part
          1000061016.jpg

          Zeigt eure Lovelace-Visualisierung klick
          (Auch ideal um sich Anregungen zu holen)

          Meine Tabellen für eure Visualisierung klick

          M 1 Antwort Letzte Antwort
          0
          • David G.D David G.

            @MCU

            Sehe grad, dass mir der iobroker unter Dateien keine Unterordner anzeigt.
            Werden diese evtl nicht unterstützt?

            Schreibe in
            /opt/iobroker/iobroker-data/files/0_userdata.0/abc/xyz

            Das ist der Script Part
            1000061016.jpg

            M Online
            M Online
            MCU
            schrieb am zuletzt editiert von
            #10

            @David-G. Teste mal bitte auf dem System

            sudo -u iobroker which weasyprint
            sudo -u iobroker weasyprint --version
            

            NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
            Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

            David G.D 1 Antwort Letzte Antwort
            0
            • M MCU

              @David-G. Teste mal bitte auf dem System

              sudo -u iobroker which weasyprint
              sudo -u iobroker weasyprint --version
              
              David G.D Online
              David G.D Online
              David G.
              schrieb am zuletzt editiert von
              #11

              @MCU

              iobroker@iobroker:~$ sudo -u iobroker which weasyprint
              /usr/local/bin/weasyprint
              iobroker@iobroker:~$ sudo -u iobroker weasyprint --version
              WeasyPrint version 62.3
              iobroker@iobroker:~$
              

              (Ist ein recht altes System, damals wusste ich nicht, dass man den User nicht iobroker nennen sollte....)

              Zeigt eure Lovelace-Visualisierung klick
              (Auch ideal um sich Anregungen zu holen)

              Meine Tabellen für eure Visualisierung klick

              M Thomas BraunT 3 Antworten Letzte Antwort
              0
              • David G.D David G.

                @MCU

                iobroker@iobroker:~$ sudo -u iobroker which weasyprint
                /usr/local/bin/weasyprint
                iobroker@iobroker:~$ sudo -u iobroker weasyprint --version
                WeasyPrint version 62.3
                iobroker@iobroker:~$
                

                (Ist ein recht altes System, damals wusste ich nicht, dass man den User nicht iobroker nennen sollte....)

                M Online
                M Online
                MCU
                schrieb am zuletzt editiert von MCU
                #12

                @David-G. Lass mal den kompletten Befehl der mit exec geschickt wird ausgeben und stell ihn rein. Danke.

                NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
                Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

                David G.D 1 Antwort Letzte Antwort
                0
                • David G.D David G.

                  @MCU

                  iobroker@iobroker:~$ sudo -u iobroker which weasyprint
                  /usr/local/bin/weasyprint
                  iobroker@iobroker:~$ sudo -u iobroker weasyprint --version
                  WeasyPrint version 62.3
                  iobroker@iobroker:~$
                  

                  (Ist ein recht altes System, damals wusste ich nicht, dass man den User nicht iobroker nennen sollte....)

                  Thomas BraunT Online
                  Thomas BraunT Online
                  Thomas Braun
                  Most Active
                  schrieb am zuletzt editiert von
                  #13

                  @David-G. sagte in Mit exec in Dateisystem schreiben:

                  Ist ein recht altes System

                  Und weasyprint ist da auch nicht 'ordentlich' installiert.
                  Gibt es über das Debian-Repo.

                  Linux-Werkzeugkasten:
                  https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                  NodeJS Fixer Skript:
                  https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                  iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                  1 Antwort Letzte Antwort
                  0
                  • David G.D David G.

                    @MCU

                    iobroker@iobroker:~$ sudo -u iobroker which weasyprint
                    /usr/local/bin/weasyprint
                    iobroker@iobroker:~$ sudo -u iobroker weasyprint --version
                    WeasyPrint version 62.3
                    iobroker@iobroker:~$
                    

                    (Ist ein recht altes System, damals wusste ich nicht, dass man den User nicht iobroker nennen sollte....)

                    M Online
                    M Online
                    MCU
                    schrieb am zuletzt editiert von
                    #14

                    @David-G. Was sagt denn

                    grep -n '^iobroker:' /etc/passwd
                    

                    NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
                    Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

                    1 Antwort Letzte Antwort
                    0
                    • M MCU

                      @David-G. Lass mal den kompletten Befehl der mit exec geschickt wird ausgeben und stell ihn rein. Danke.

                      David G.D Online
                      David G.D Online
                      David G.
                      schrieb am zuletzt editiert von David G.
                      #15

                      Habe eben mal manuell Daten eine Ebene höher nach /opt/iobroker/iobroker-data/files/0_userdata.0/xyz kopiert. Landen auch nicht im Backup.

                      @MCU sagte in Mit exec in Dateisystem schreiben:

                      Lass mal den kompletten Befehl der mit exec geschickt wird ausgeben und stell ihn rein. Danke.

                      Inhalt von echo entfernt

                      cd /opt/iobroker/iobroker-data/files/0_userdata.0/abc/xyz && echo '' > htmlc6.html && echo '' > htmlc5.html && echo '' > htmletiketten.html && weasyprint -p htmlc6.html c6_14_02_2026_00_23.pdf && weasyprint -p htmlc5.html c5_14_02_2026_00_23.pdf && weasyprint -p htmletiketten.html etiketten_14_02_2026_00_23.pdf && rm -f htmlc5.html htmlc6.html htmletiketten.html *.xls *.xlsx
                      

                      @Thomas-Braun sagte in Mit exec in Dateisystem schreiben:

                      Und weasyprint ist da auch nicht 'ordentlich' installiert.
                      Gibt es über das Debian-Repo.

                      Wie werde ich das aktuelle Los? Dann installier ich es noch sauber

                      @MCU sagte in Mit exec in Dateisystem schreiben:

                      Was sagt denn

                      Copy to Clipboard
                      grep -n '^iobroker:' /etc/passwd

                      Last login: Sat Feb 14 00:14:54 2026 from 192.168.22.206
                      iobroker@iobroker:~$ grep -n '^iobroker:' /etc/passwd
                      25:iobroker:x:1000:1000:iobroker,,,:/home/iobroker:/bin/bash
                      iobroker@iobroker:~$

                      Zeigt eure Lovelace-Visualisierung klick
                      (Auch ideal um sich Anregungen zu holen)

                      Meine Tabellen für eure Visualisierung klick

                      M Thomas BraunT 2 Antworten Letzte Antwort
                      0
                      • David G.D David G.

                        Habe eben mal manuell Daten eine Ebene höher nach /opt/iobroker/iobroker-data/files/0_userdata.0/xyz kopiert. Landen auch nicht im Backup.

                        @MCU sagte in Mit exec in Dateisystem schreiben:

                        Lass mal den kompletten Befehl der mit exec geschickt wird ausgeben und stell ihn rein. Danke.

                        Inhalt von echo entfernt

                        cd /opt/iobroker/iobroker-data/files/0_userdata.0/abc/xyz && echo '' > htmlc6.html && echo '' > htmlc5.html && echo '' > htmletiketten.html && weasyprint -p htmlc6.html c6_14_02_2026_00_23.pdf && weasyprint -p htmlc5.html c5_14_02_2026_00_23.pdf && weasyprint -p htmletiketten.html etiketten_14_02_2026_00_23.pdf && rm -f htmlc5.html htmlc6.html htmletiketten.html *.xls *.xlsx
                        

                        @Thomas-Braun sagte in Mit exec in Dateisystem schreiben:

                        Und weasyprint ist da auch nicht 'ordentlich' installiert.
                        Gibt es über das Debian-Repo.

                        Wie werde ich das aktuelle Los? Dann installier ich es noch sauber

                        @MCU sagte in Mit exec in Dateisystem schreiben:

                        Was sagt denn

                        Copy to Clipboard
                        grep -n '^iobroker:' /etc/passwd

                        Last login: Sat Feb 14 00:14:54 2026 from 192.168.22.206
                        iobroker@iobroker:~$ grep -n '^iobroker:' /etc/passwd
                        25:iobroker:x:1000:1000:iobroker,,,:/home/iobroker:/bin/bash
                        iobroker@iobroker:~$

                        M Online
                        M Online
                        MCU
                        schrieb am zuletzt editiert von
                        #16

                        @David-G. Versuch mal diesen Befehl mit exec.

                        runuser -u iobroker -- bash -lc "cd /opt/iobroker/iobroker-data/files/0_userdata.0/abc/xyz && echo '' > htmlc6.html && echo '' > htmlc5.html && echo '' > htmletiketten.html && /usr/local/bin/weasyprint -p htmlc6.html c6_14_02_2026_00_23.pdf && /usr/local/bin/weasyprint -p htmlc5.html c5_14_02_2026_00_23.pdf && /usr/local/bin/weasyprint -p htmletiketten.html etiketten_14_02_2026_00_23.pdf && rm -f htmlc5.html htmlc6.html htmletiketten.html *.xls *.xlsx"
                        

                        Die Dateien müssen dann unter Dateien/Files im Browser unter 0_userdata.0 oder Benutzerdateien im Ordner abc/xyz sichtbar sein.

                        NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
                        Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

                        1 Antwort Letzte Antwort
                        0
                        • MartinPM Online
                          MartinPM Online
                          MartinP
                          schrieb am zuletzt editiert von MartinP
                          #17

                          Wenn man Linux-Systemfunktionen ("exec") zum Schreiben von Dateien nutzt, sollte man ÜBERHAUPT NICHT in den Verzeichnisbaum von iobroker schreiben ... außer man ruft per exec z. B.

                          iob file write ....
                          

                          auf ...

                          Die Datei in einem Verzeichnis außerhalb der Überwachung von iobroker erzeugen, und danach mit iob file write in ein iobroker Verzeichnis zu transferieren ist aber erlaubt ...

                          iobroker führt eine Datenbank über die Dateien im eigenen Verzeichnisbaum, und wenn man in diesen Verzeichnisbaum "unter dem Radar" Dateien hinenschiebt, sorgt das nur für Ärger (z. B. dass sie nicht "im Backup landen")....

                          Intel(R) Celeron(R) CPU N3000 @ 1.04GHz 8G RAM 480G SSD
                          Virtualization : unprivileged lxc container (debian 13) on Proxmox 9.1.5)
                          Linux pve 6.17.9-1-pve
                          6 GByte RAM für den Container
                          Fritzbox 6591 FW 8.20 (Vodafone Leih-Box)
                          Remote-Access über Wireguard der Fritzbox

                          David G.D 1 Antwort Letzte Antwort
                          2
                          • David G.D David G.

                            Habe eben mal manuell Daten eine Ebene höher nach /opt/iobroker/iobroker-data/files/0_userdata.0/xyz kopiert. Landen auch nicht im Backup.

                            @MCU sagte in Mit exec in Dateisystem schreiben:

                            Lass mal den kompletten Befehl der mit exec geschickt wird ausgeben und stell ihn rein. Danke.

                            Inhalt von echo entfernt

                            cd /opt/iobroker/iobroker-data/files/0_userdata.0/abc/xyz && echo '' > htmlc6.html && echo '' > htmlc5.html && echo '' > htmletiketten.html && weasyprint -p htmlc6.html c6_14_02_2026_00_23.pdf && weasyprint -p htmlc5.html c5_14_02_2026_00_23.pdf && weasyprint -p htmletiketten.html etiketten_14_02_2026_00_23.pdf && rm -f htmlc5.html htmlc6.html htmletiketten.html *.xls *.xlsx
                            

                            @Thomas-Braun sagte in Mit exec in Dateisystem schreiben:

                            Und weasyprint ist da auch nicht 'ordentlich' installiert.
                            Gibt es über das Debian-Repo.

                            Wie werde ich das aktuelle Los? Dann installier ich es noch sauber

                            @MCU sagte in Mit exec in Dateisystem schreiben:

                            Was sagt denn

                            Copy to Clipboard
                            grep -n '^iobroker:' /etc/passwd

                            Last login: Sat Feb 14 00:14:54 2026 from 192.168.22.206
                            iobroker@iobroker:~$ grep -n '^iobroker:' /etc/passwd
                            25:iobroker:x:1000:1000:iobroker,,,:/home/iobroker:/bin/bash
                            iobroker@iobroker:~$

                            Thomas BraunT Online
                            Thomas BraunT Online
                            Thomas Braun
                            Most Active
                            schrieb am zuletzt editiert von
                            #18

                            @David-G. sagte in Mit exec in Dateisystem schreiben:

                            Wie werde ich das aktuelle Los?

                            Wie hast du es denn hingezirkelt?

                            Linux-Werkzeugkasten:
                            https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                            NodeJS Fixer Skript:
                            https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                            iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                            1 Antwort Letzte Antwort
                            0
                            • MartinPM MartinP

                              Wenn man Linux-Systemfunktionen ("exec") zum Schreiben von Dateien nutzt, sollte man ÜBERHAUPT NICHT in den Verzeichnisbaum von iobroker schreiben ... außer man ruft per exec z. B.

                              iob file write ....
                              

                              auf ...

                              Die Datei in einem Verzeichnis außerhalb der Überwachung von iobroker erzeugen, und danach mit iob file write in ein iobroker Verzeichnis zu transferieren ist aber erlaubt ...

                              iobroker führt eine Datenbank über die Dateien im eigenen Verzeichnisbaum, und wenn man in diesen Verzeichnisbaum "unter dem Radar" Dateien hinenschiebt, sorgt das nur für Ärger (z. B. dass sie nicht "im Backup landen")....

                              David G.D Online
                              David G.D Online
                              David G.
                              schrieb am zuletzt editiert von David G.
                              #19

                              @MartinP sagte in Mit exec in Dateisystem schreiben:

                              iobroker führt eine Datenbank über die Dateien im.....

                              Sowas hatte ich auch in Erinnerung. Deshalb hab ich oben gemeint, dass am iob vorbei geschrieben.

                              @Thomas-Braun sagte in Mit exec in Dateisystem schreiben:

                              Wie hast du es denn hingezirkelt?

                              Ja wenn ich das mal wüsste.
                              Das ist ein System aus der Zeit wo ich mit iob angefangen hab und alles Stumpf nach irgendwelchen Anleitungen gemacht hab.

                              @mcu
                              Hast du die Dateien in deinen Backup auch einfach per Script, Dateiexplorer etc in den Ordner geschoben?

                              Edit

                              echo "<html><body><h1>Test</h1></body></html>" | weasyprint - /dev/shm/temp.pdf && iobroker file write /dev/shm/temp.pdf 0_userdata.0/FGB/test.pdf && rm /dev/shm/temp.pdf
                              

                              Scheint gut zu klappen.

                              Zeigt eure Lovelace-Visualisierung klick
                              (Auch ideal um sich Anregungen zu holen)

                              Meine Tabellen für eure Visualisierung klick

                              Thomas BraunT M 2 Antworten Letzte Antwort
                              0
                              • David G.D David G.

                                @MartinP sagte in Mit exec in Dateisystem schreiben:

                                iobroker führt eine Datenbank über die Dateien im.....

                                Sowas hatte ich auch in Erinnerung. Deshalb hab ich oben gemeint, dass am iob vorbei geschrieben.

                                @Thomas-Braun sagte in Mit exec in Dateisystem schreiben:

                                Wie hast du es denn hingezirkelt?

                                Ja wenn ich das mal wüsste.
                                Das ist ein System aus der Zeit wo ich mit iob angefangen hab und alles Stumpf nach irgendwelchen Anleitungen gemacht hab.

                                @mcu
                                Hast du die Dateien in deinen Backup auch einfach per Script, Dateiexplorer etc in den Ordner geschoben?

                                Edit

                                echo "<html><body><h1>Test</h1></body></html>" | weasyprint - /dev/shm/temp.pdf && iobroker file write /dev/shm/temp.pdf 0_userdata.0/FGB/test.pdf && rm /dev/shm/temp.pdf
                                

                                Scheint gut zu klappen.

                                Thomas BraunT Online
                                Thomas BraunT Online
                                Thomas Braun
                                Most Active
                                schrieb am zuletzt editiert von
                                #20

                                @David-G.

                                Ich würde nur davon absehen, direkt auf ein Gerät wie /dev/shm/ zu schreiben. Verwende /tmp/ für sowas.

                                Linux-Werkzeugkasten:
                                https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                                NodeJS Fixer Skript:
                                https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                                iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                                David G.D 1 Antwort Letzte Antwort
                                0
                                • Thomas BraunT Thomas Braun

                                  @David-G.

                                  Ich würde nur davon absehen, direkt auf ein Gerät wie /dev/shm/ zu schreiben. Verwende /tmp/ für sowas.

                                  David G.D Online
                                  David G.D Online
                                  David G.
                                  schrieb am zuletzt editiert von David G.
                                  #21

                                  @Thomas-Braun sagte in Mit exec in Dateisystem schreiben:

                                  @David-G.

                                  Ich würde nur davon absehen, direkt auf ein Gerät wie /dev/shm/ zu schreiben. Verwende /tmp/ für sowas.

                                  Okay
                                  Idee wegen dem krummen weasyprint?

                                  Scheinbar doppelt drauf....

                                  iobroker@iobroker:~$ which weasyprint
                                  /usr/local/bin/weasyprint
                                  iobroker@iobroker:~$ dpkg -l | grep weasyprint
                                  ii  weasyprint                           62.3-1                               all          Document factory for creating PDF files from HTML
                                  iobroker@iobroker:~$ pip list | grep -i weasyprint
                                  weasyprint         62.3
                                  iobroker@iobroker:~$ pip3 list | grep -i weasyprint
                                  weasyprint         62.3
                                  iobroker@iobroker:~$ type weasyprint
                                  weasyprint ist /usr/local/bin/weasyprint
                                  iobroker@iobroker:~$
                                  

                                  Zeigt eure Lovelace-Visualisierung klick
                                  (Auch ideal um sich Anregungen zu holen)

                                  Meine Tabellen für eure Visualisierung klick

                                  Thomas BraunT 1 Antwort Letzte Antwort
                                  0
                                  • David G.D David G.

                                    @Thomas-Braun sagte in Mit exec in Dateisystem schreiben:

                                    @David-G.

                                    Ich würde nur davon absehen, direkt auf ein Gerät wie /dev/shm/ zu schreiben. Verwende /tmp/ für sowas.

                                    Okay
                                    Idee wegen dem krummen weasyprint?

                                    Scheinbar doppelt drauf....

                                    iobroker@iobroker:~$ which weasyprint
                                    /usr/local/bin/weasyprint
                                    iobroker@iobroker:~$ dpkg -l | grep weasyprint
                                    ii  weasyprint                           62.3-1                               all          Document factory for creating PDF files from HTML
                                    iobroker@iobroker:~$ pip list | grep -i weasyprint
                                    weasyprint         62.3
                                    iobroker@iobroker:~$ pip3 list | grep -i weasyprint
                                    weasyprint         62.3
                                    iobroker@iobroker:~$ type weasyprint
                                    weasyprint ist /usr/local/bin/weasyprint
                                    iobroker@iobroker:~$
                                    
                                    Thomas BraunT Online
                                    Thomas BraunT Online
                                    Thomas Braun
                                    Most Active
                                    schrieb am zuletzt editiert von Thomas Braun
                                    #22

                                    @David-G. sagte in Mit exec in Dateisystem schreiben:

                                    /usr/local/bin/weasyprint

                                    Dann lösch das aus /usr/local/bin/ einfach raus.

                                    Edit: Per pip installiert? Dann auch per pip deinstallieren! Erst danach ggfls. stumpf aus /usr/local/bin löschen!

                                    Linux-Werkzeugkasten:
                                    https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                                    NodeJS Fixer Skript:
                                    https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                                    iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                                    1 Antwort Letzte Antwort
                                    0
                                    • David G.D David G.

                                      @MartinP sagte in Mit exec in Dateisystem schreiben:

                                      iobroker führt eine Datenbank über die Dateien im.....

                                      Sowas hatte ich auch in Erinnerung. Deshalb hab ich oben gemeint, dass am iob vorbei geschrieben.

                                      @Thomas-Braun sagte in Mit exec in Dateisystem schreiben:

                                      Wie hast du es denn hingezirkelt?

                                      Ja wenn ich das mal wüsste.
                                      Das ist ein System aus der Zeit wo ich mit iob angefangen hab und alles Stumpf nach irgendwelchen Anleitungen gemacht hab.

                                      @mcu
                                      Hast du die Dateien in deinen Backup auch einfach per Script, Dateiexplorer etc in den Ordner geschoben?

                                      Edit

                                      echo "<html><body><h1>Test</h1></body></html>" | weasyprint - /dev/shm/temp.pdf && iobroker file write /dev/shm/temp.pdf 0_userdata.0/FGB/test.pdf && rm /dev/shm/temp.pdf
                                      

                                      Scheint gut zu klappen.

                                      M Online
                                      M Online
                                      MCU
                                      schrieb am zuletzt editiert von MCU
                                      #23

                                      @David-G. Ich hab es bei mit Javascript Modul html-pdf gemacht. Kann ein Beipiel später reinstellen.

                                      NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
                                      Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

                                      David G.D 1 Antwort Letzte Antwort
                                      0
                                      • M MCU

                                        @David-G. Ich hab es bei mit Javascript Modul html-pdf gemacht. Kann ein Beipiel später reinstellen.

                                        David G.D Online
                                        David G.D Online
                                        David G.
                                        schrieb am zuletzt editiert von David G.
                                        #24

                                        @MCU

                                        Gerne.
                                        WeasyPrint nutze ich schon recht lange für vieles.
                                        War damals das einzige wo ich wirklich genau das PDF Format mit Seitenrändern etc festlegen kann und wirklich sehr gut css unterstützt.

                                        Falls jemand Interesse hat was ich hier in dem Fall grad mache.

                                        Habe mit für meine Visualisierung einen kleinen Dateiexplorer gebaut für einen Ordner. Dort kann ich Dateien hoch und runter laden. Wenn ich eine Excel hochlade wird eine verschachtelte json aus dieser erstellt (ein js überwacht den Ordner auf xls und xlsx).
                                        1000061138.jpg

                                        Bei den Adressen stehen auch Zahlen, wie viele Exemplare von einem Heft die Persone bekommen. Je nach Anzahl benötigt man einen anderen Briefumschlag.
                                        Für jede entsprechende Größe wird dann ein html bzw pdf mit den entsprechenden Adressen erstellt.

                                        Die PDFs sind dann auch über den Fileexplorer in der vis erreichbar.

                                        Zeigt eure Lovelace-Visualisierung klick
                                        (Auch ideal um sich Anregungen zu holen)

                                        Meine Tabellen für eure Visualisierung klick

                                        M 1 Antwort Letzte Antwort
                                        0
                                        • David G.D David G.

                                          @MCU

                                          Gerne.
                                          WeasyPrint nutze ich schon recht lange für vieles.
                                          War damals das einzige wo ich wirklich genau das PDF Format mit Seitenrändern etc festlegen kann und wirklich sehr gut css unterstützt.

                                          Falls jemand Interesse hat was ich hier in dem Fall grad mache.

                                          Habe mit für meine Visualisierung einen kleinen Dateiexplorer gebaut für einen Ordner. Dort kann ich Dateien hoch und runter laden. Wenn ich eine Excel hochlade wird eine verschachtelte json aus dieser erstellt (ein js überwacht den Ordner auf xls und xlsx).
                                          1000061138.jpg

                                          Bei den Adressen stehen auch Zahlen, wie viele Exemplare von einem Heft die Persone bekommen. Je nach Anzahl benötigt man einen anderen Briefumschlag.
                                          Für jede entsprechende Größe wird dann ein html bzw pdf mit den entsprechenden Adressen erstellt.

                                          Die PDFs sind dann auch über den Fileexplorer in der vis erreichbar.

                                          M Online
                                          M Online
                                          MCU
                                          schrieb am zuletzt editiert von
                                          #25

                                          @David-G. Testskript
                                          d8d347a8-e47e-4235-80a6-1bf63af01f04-image.png in javascript-Instanz als NPM-Modul angeben

                                          const fs = require('fs');
                                          // @ts-ignore
                                          const pdf = require('html-pdf');
                                          
                                          // HTML-Inhalt
                                          // max Breite 520px
                                          
                                          let htmlContent = `
                                          <!DOCTYPE html>
                                          <html>
                                          <head>
                                            <title>HTML to PDF</title>
                                          </head>
                                          <body style="margin-left: 10px;">
                                              
                                              <h4>Hello, world!</h4>
                                              <img style="height:100px; width:520px;" src="http://192.168.178.170/download/bilder/ffn.png">
                                              
                                              <h5>Hallo</h5>
                                              <table border="1" style="font-size:10px; width:100%;">
                                                  <thead>
                                                      <tr>
                                                          <th style="min-width:170px">Spalte 1</th>
                                                          <th style="min-width:170px">Spalte 2</th>
                                                          <th style="min-width:170px">Spalte 3</th>
                                                      </tr>
                                                  </thead>
                                                  <tbody>`
                                                      for(let i= 0;i<35;i++){
                                              htmlContent+=`       <tr>`
                                              htmlContent+=`             <td>Daten `+(i+1)+`,1</td>`
                                              htmlContent+=`             <td>Daten `+(i+1)+`,2</td>`
                                              htmlContent+=`             <td>Daten `+(i+1)+`,3</td>`
                                              htmlContent+=`         </tr>`
                                                      }
                                                      
                                          htmlContent += `</tbody>
                                              </table>
                                              
                                          </body>
                                          </html>
                                          `;
                                          
                                          // Optionen für HTML-PDF
                                          const options = { format: 'A4' ,border: {"top": "0cm","right": "1cm","bottom": "0cm","left": "1cm"}, 
                                                            header: {"height": "15mm", "contents": '<div style="font-size:14px; text-align: center;">Author: TEST</div>'  },
                                                            footer:  {"height": "10mm","contents": {default: '<div style="font-size:14px; text-align:center;"><span style="color: blue;">{{page}}</span>/<span>{{pages}}</span></div>'}}}
                                           // config -Beschreibung -> https://github.com/marcbachmann/node-html-pdf?tab=readme-ov-file#options
                                          
                                          // HTML zu PDF umwandeln
                                          let filePath = '/opt/iobroker/iobroker-data/files/0_userdata.0/output.pdf'
                                          let fileName = 'output.pdf'
                                          pdf.create(htmlContent, options).toFile(filePath, function(err, res) {
                                            if (err) return console.log(err);
                                            console.log(res); // Informationen über das generierte PDF
                                              let data = fs.readFileSync(filePath);
                                              // Datei hochladen in VIS
                                              writeFile("0_userdata.0", "/PDF/"+fileName, data,function (error) {
                                                  if (error) log(error);
                                              });
                                          });
                                          
                                          

                                          NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
                                          Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

                                          David G.D 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

                                          653

                                          Online

                                          32.7k

                                          Benutzer

                                          82.3k

                                          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