Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Tester
    4. Puppeteer: Screenshots PhantomJS Alternative

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Puppeteer: Screenshots PhantomJS Alternative

    This topic has been deleted. Only users with topic management privileges can see it.
    • foxriver76
      foxriver76 Developer last edited by

      Zeig mal bitte Log vom Update auf 0.2.1

      crunchip 1 Reply Last reply Reply Quote 0
      • Thomas Braun
        Thomas Braun Most Active @crunchip last edited by

        @crunchip

        Ich weiß ja nicht ob die Intention von @foxriver76 ist die libs selber mitzubringen, aber die sind systemweit in den genannten Paketen drin.

        apt policy libnss3 libnspr4 libgbm1
        
        foxriver76 B 2 Replies Last reply Reply Quote 0
        • crunchip
          crunchip Forum Testing Most Active @foxriver76 last edited by crunchip

          @foxriver76 da gibt es nichts, weil der Host auf Logstufe "warn" steht

          nichts installiert

          root@IoBroker:~# apt policy libnss3 libnspr4 libgbm1
          libnss3:
            Installiert:           (keine)
            Installationskandidat: 2:3.61-1+deb11u2
            Versionstabelle:
               2:3.61-1+deb11u2 500
                  500 http://deb.debian.org/debian bullseye/main amd64 Packages
                  500 http://deb.debian.org/debian-security bullseye-security/main amd64 Packages
          libnspr4:
            Installiert:           (keine)
            Installationskandidat: 2:4.29-1
            Versionstabelle:
               2:4.29-1 500
                  500 http://deb.debian.org/debian bullseye/main amd64 Packages
          libgbm1:
            Installiert:           (keine)
            Installationskandidat: 20.3.5-1
            Versionstabelle:
               20.3.5-1 500
                  500 http://deb.debian.org/debian bullseye/main amd64 Packages
          
          
          Thomas Braun 1 Reply Last reply Reply Quote 0
          • Thomas Braun
            Thomas Braun Most Active @crunchip last edited by

            @crunchip sagte in Puppeteer: Screenshots PhantomJS Alternative:

            nichts installiert

            Natürlich nicht. Sonst würden die ja auch gefunden werden. 🙂

            crunchip 1 Reply Last reply Reply Quote 0
            • crunchip
              crunchip Forum Testing Most Active @Thomas Braun last edited by crunchip

              @thomas-braun aber ich bin doch jetzt nicht der einzige der diesen Adapter installiert hat und nur bei mir die Pakete fehlen

              so nebenbei, ich kann dich gar nicht "anschreiben", findet dich nicht, egal ob Groß oder Kleinschreibung, mit und ohne Bindestrich
              a15ed034-ce25-492c-a7fa-32978605f578-image.png

              1 Reply Last reply Reply Quote 0
              • foxriver76
                foxriver76 Developer @Thomas Braun last edited by

                @thomas-braun Ja das wäre die Intention, Controller sollte diese installieren bei >=0.2.1.

                crunchip 1 Reply Last reply Reply Quote 0
                • crunchip
                  crunchip Forum Testing Most Active @foxriver76 last edited by

                  @foxriver76 soll ich nochmal deinstallieren, Host umstellen und install Log posten?

                  foxriver76 1 Reply Last reply Reply Quote 0
                  • foxriver76
                    foxriver76 Developer @crunchip last edited by

                    @crunchip gerne

                    crunchip 1 Reply Last reply Reply Quote 0
                    • crunchip
                      crunchip Forum Testing Most Active @foxriver76 last edited by crunchip

                      @foxriver76 aaaaaaaalso
                      neu installiert, Instanz ist jetzt grün
                      jedoch im log

                      2022-06-10 22:01:51.286  - info: host.IoBroker iobroker > puppeteer@13.7.0 install /opt/iobroker/node_modules/puppeteer> node install.js
                      2022-06-10 22:02:41.594  - info: host.IoBroker iobroker + iobroker.puppeteer@0.2.1added 21 packages from 22 contributors in 128.814s
                      2022-06-10 22:02:49.623  - info: host.IoBroker iobroker 187 packages are looking for funding  run `npm fund` for details
                      2022-06-10 22:02:49.690  - info: host.IoBroker iobroker host.IoBroker install adapter puppeteer
                      2022-06-10 22:02:51.008  - error: host.IoBroker iobroker Cannot install "libappindicator3-1": E: Für Paket »libappindicator3-1« existiert kein Installationskandidat.
                      2022-06-10 22:03:29.082  - error: host.IoBroker iobroker The following apt-get packages could not be installed: libappindicator3-1. Please install them manually.
                      2022-06-10 22:03:29.169  - info: host.IoBroker iobroker upload [0] puppeteer.admin /opt/iobroker/node_modules/iobroker.puppeteer/admin/puppeteer.png puppeteer.png image/png
                      2022-06-10 22:03:29.875  - info: host.IoBroker iobroker host.IoBroker object system.adapter.puppeteer created/updated
                      2022-06-10 22:03:30.753  - info: host.IoBroker iobroker host.IoBroker create instance puppeteer
                      2022-06-10 22:03:30.817  - info: host.IoBroker iobroker host.IoBroker object system.adapter.puppeteer.0.alive created
                      2022-06-10 22:03:30.867  - info: host.IoBroker iobroker host.IoBroker object system.adapter.puppeteer.0.connected created
                      2022-06-10 22:03:30.906  - info: host.IoBroker iobroker host.IoBroker object system.adapter.puppeteer.0.compactMode created
                      2022-06-10 22:03:30.941  - info: host.IoBroker iobroker host.IoBroker object system.adapter.puppeteer.0.cpu created
                      2022-06-10 22:03:30.975  - info: host.IoBroker iobroker host.IoBroker object system.adapter.puppeteer.0.cputime created
                      2022-06-10 22:03:31.001  - info: host.IoBroker iobroker host.IoBroker object system.adapter.puppeteer.0.memHeapUsed created
                      2022-06-10 22:03:31.035  - info: host.IoBroker iobroker host.IoBroker object system.adapter.puppeteer.0.memHeapTotal created
                      2022-06-10 22:03:31.067  - info: host.IoBroker iobroker host.IoBroker object system.adapter.puppeteer.0.memRss created
                      2022-06-10 22:03:31.095  - info: host.IoBroker iobroker host.IoBroker object system.adapter.puppeteer.0.uptime created
                      2022-06-10 22:03:31.135  - info: host.IoBroker iobroker host.IoBroker object system.adapter.puppeteer.0.inputCount created
                      2022-06-10 22:03:31.164  - info: host.IoBroker iobroker host.IoBroker object system.adapter.puppeteer.0.outputCount created
                      2022-06-10 22:03:31.202  - info: host.IoBroker iobroker host.IoBroker object system.adapter.puppeteer.0.eventLoopLag created
                      2022-06-10 22:03:31.244  - info: host.IoBroker iobroker host.IoBroker object system.adapter.puppeteer.0.sigKill created
                      2022-06-10 22:03:31.270  - info: host.IoBroker iobroker host.IoBroker object system.adapter.puppeteer.0.logLevel created
                      2022-06-10 22:03:31.287  - info: host.IoBroker iobroker host.IoBroker object puppeteer.0.url created
                      2022-06-10 22:03:31.312  - info: host.IoBroker iobroker host.IoBroker object puppeteer.0.filename created
                      2022-06-10 22:03:31.336  - info: host.IoBroker iobroker host.IoBroker object puppeteer.0.fullPage created
                      2022-06-10 22:03:31.376  - info: host.IoBroker iobroker host.IoBroker object puppeteer.0.clipTop created
                      2022-06-10 22:03:31.426  - info: host.IoBroker iobroker host.IoBroker object puppeteer.0.clipLeft created
                      2022-06-10 22:03:31.467  - info: host.IoBroker iobroker host.IoBroker object puppeteer.0.clipWidth created
                      2022-06-10 22:03:31.597  - info: host.IoBroker iobroker host.IoBroker object puppeteer.0.clipHeight created
                      2022-06-10 22:03:31.689  - info: host.IoBroker iobroker host.IoBroker object puppeteer.0.renderTime created
                      2022-06-10 22:03:31.783  - info: host.IoBroker iobroker host.IoBroker object puppeteer.0.waitForSelector created
                      2022-06-10 22:03:31.800  - info: host.IoBroker iobroker host.IoBroker Set default value of puppeteer.0.fullPage: false
                      2022-06-10 22:03:31.835  - info: host.IoBroker iobroker host.IoBroker Set default value of puppeteer.0.clipTop: 0
                      2022-06-10 22:03:31.854  - info: host.IoBroker iobroker host.IoBroker Set default value of puppeteer.0.clipLeft: 0
                      2022-06-10 22:03:31.913  - info: host.IoBroker iobroker host.IoBroker object system.adapter.puppeteer.0 created
                      2022-06-10 22:03:32.996  - info: host.IoBroker iobroker exit 0
                      2022-06-10 22:03:35.356  - info: host.IoBroker instance system.adapter.puppeteer.0 started with pid 2001373
                      2022-06-10 22:03:40.406  - info: puppeteer.0 (2001373) starting. Version 0.2.1 in /opt/iobroker/node_modules/iobroker.puppeteer, node: v14.19.3, js-controller: 4.0.23
                      2022-06-10 22:03:40.882  - info: puppeteer.0 (2001373) Ready to take screenshots
                      
                      

                      libnss3 libnspr4 libgbm1 sind nun installiert

                      foxriver76 1 Reply Last reply Reply Quote 0
                      • foxriver76
                        foxriver76 Developer @crunchip last edited by

                        @crunchip Okay, passt, sprich alle anderen Libs konnte er installieren. Hast du davor von GH installiert oder igend etwas anders gemacht?

                        crunchip 1 Reply Last reply Reply Quote 0
                        • crunchip
                          crunchip Forum Testing Most Active @foxriver76 last edited by

                          @foxriver76 Reihenfolge
                          die Erstinstallation war v0.2 von git, vorhin dann v0.2.1 per Admin installiert,
                          jetzt Adapter gelöscht und Instanz neu installiert wieder per Admin
                          also eigentlich nichts anders gemacht

                          foxriver76 1 Reply Last reply Reply Quote 0
                          • foxriver76
                            foxriver76 Developer @crunchip last edited by

                            @crunchip Okay danke.

                            Ja beim ersten mal wars dann ein Upgrade beim zweiten mal ein Install und tatsächlich installiert der Controller die "OS dependencies" nur bei einem neu install.

                            crunchip 1 Reply Last reply Reply Quote 1
                            • crunchip
                              crunchip Forum Testing Most Active @foxriver76 last edited by

                              @foxriver76 alles klar und danke dir

                              PS:

                              @crunchip sagte in Puppeteer: Screenshots PhantomJS Alternative:

                              error: host.IoBroker iobroker Cannot install "libappindicator3-1":

                              kann ich also ignorieren

                              foxriver76 1 Reply Last reply Reply Quote 0
                              • foxriver76
                                foxriver76 Developer @crunchip last edited by

                                @crunchip Genau, das Paket gibt es auf Ubuntu aber unter Debian wohl nicht. Ich kann allerdings nur allgemein Pakete für Linux angeben. Evtl. kann man sich da im Controller noch was überlegen, dass die User da nicht durch Errors irritiert werden.

                                1 Reply Last reply Reply Quote 1
                                • F
                                  fraso last edited by

                                  hi,
                                  ich kann bei mir keinen puppeteer Adapter finden. Der Versuch via npm install puppeteer läuft durch mit Warnmeldungen, aber kein Adapter zu sehen.

                                  npm install puppeteer
                                  
                                  > puppeteer@15.1.0 install /home/e6iob/node_modules/puppeteer
                                  > node install.js
                                  
                                  Downloading Chromium r1011831 - 150.4 Mb [====================] 100% 0.0s 
                                  Chromium (1011831) downloaded to /home/e6iob/node_modules/puppeteer/.local-chromium/linux-1011831
                                  npm WARN e6iob No description
                                  npm WARN e6iob No repository field.
                                  npm WARN e6iob No license field.
                                  npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@2.3.2 (node_modules/fsevents):
                                  npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.3.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
                                  
                                  + puppeteer@15.1.0
                                  updated 1 package and audited 485 packages in 10.331s
                                  
                                  33 packages are looking for funding
                                    run `npm fund` for details
                                  
                                  found 11 vulnerabilities (4 low, 2 moderate, 5 high)
                                    run `npm audit fix` to fix them, or `npm audit` for details
                                  

                                  Hier ein paar Infos zu meinem System. NUC, Debian Bullseye (kein Windows VM)

                                  6iob@NUCioBroker:~$ which nodejs node npm && nodejs -v && node -v && npm -v && apt policy nodejs
                                  /usr/bin/nodejs
                                  /usr/bin/node
                                  /usr/bin/npm
                                  v14.19.1
                                  v14.19.1
                                  6.14.16
                                  nodejs:
                                    Installiert:           14.19.1-deb-1nodesource1
                                    Installationskandidat: 14.19.3-deb-1nodesource1
                                    Versionstabelle:
                                       14.19.3-deb-1nodesource1 500
                                          500 https://deb.nodesource.com/node_14.x bullseye/main amd64 Packages
                                   *** 14.19.1-deb-1nodesource1 100
                                          100 /var/lib/dpkg/status
                                       12.22.5~dfsg-2~11u1 500
                                          500 http://deb.debian.org/debian bullseye/main amd64 Packages
                                          500 http://security.debian.org/debian-security bullseye-security/main amd64 Packages
                                  
                                  

                                  Hier ist nichts zu finden um direkt zu installieren.

                                  c6fd3842-b635-42a3-b642-f63149f6eb67-image.png

                                  Das ist mein Repo was ich ausgewählt habe:

                                  9be6d6f5-a99f-450f-8035-cb5510de50e2-image.png

                                  Wie kriege ich puppeteer installiert?
                                  oder
                                  Ist an meinem iOBroker was "krumm"?

                                  Danke,
                                  fraso

                                  Thomas Braun foxriver76 2 Replies Last reply Reply Quote 0
                                  • Thomas Braun
                                    Thomas Braun Most Active @fraso last edited by

                                    @fraso

                                    iob stop
                                    sudo apt update
                                    sudo apt full-upgrade
                                    sudo reboot
                                    
                                    1 Reply Last reply Reply Quote 0
                                    • foxriver76
                                      foxriver76 Developer @fraso last edited by

                                      @fraso hast du per Admin Oberfläche installiert? Weil du schreibst via npm install …?

                                      F 1 Reply Last reply Reply Quote 0
                                      • F
                                        fraso @foxriver76 last edited by

                                        @foxriver76

                                        Hi,
                                        ich hatte es das erste mal mit Admin installiert.
                                        Der Adapter wurde nicht angezeigt in meiner Liste.
                                        Dann habe ich den Adapter gelöscht und ich konnte nicht neu installieren über Admin.
                                        Dann habe ich npm genutzt.
                                        Das oben ist das Ergebnis. Der Adapter wird trotzdem nicht angezeigt und über ADMIN kann ich den Adapter auch nicht mehr sehen / suchen.

                                        Danke.

                                        1 Reply Last reply Reply Quote 0
                                        • Negalein
                                          Negalein Global Moderator @foxriver76 last edited by

                                          @foxriver76

                                          Hallo

                                          Ich möchte gern das alte Phantomjs Script durch Puppeteer ersetzen.
                                          Bin gerade komplett überfordert damit.

                                          Könntest du mir da weiterhelfen?

                                          schedule("*/5 * * * *", function () {
                                           sendTo("phantomjs.0", "send", {
                                              url: 'http://10.0.1.203:3000/d/14q2Khmnz/wetterstation-copy?orgId=1&refresh=1m&kiosk',
                                              output: 'wetterstation.png',
                                              width: '1920',
                                              height: '757',
                                              renderTime: '60000'
                                           });
                                           exec('wput -nc /opt/iobroker/node_modules/iobroker.phantomjs/wetterstation.png ftp://xxxxx:xxxxx@www37.world4you.com');
                                           console.log("exec: " + 'wput -nc /opt/iobroker/node_modules/iobroker.phantomjs/wetterstation.png ftp://xxxxx:xxxxx@www37.world4you.com');
                                          });
                                          

                                          sendTo('puppeteer.0', 'screenshot', { url: 'https://www.google.com',
                                               ioBrokerOptions: {
                                                 /**
                                                  * Define a filename for the ioBroker storage
                                                  */
                                                 storagePath: `screenshots/grafana-${new Date().toLocaleString()}.png`
                                               },
                                               /**
                                                * Define at most one wait option
                                                * You can also look for other waitOptions currently supported by Puppeteer API
                                                * see e.g. https://puppeteer.github.io/puppeteer/docs/puppeteer.page.waitforfilechooser
                                                */
                                               waitOption: {
                                                 /**
                                                  * Define a Timeout in ms
                                                  */
                                                 waitForTimeout: 1000,
                                               }
                                           }, obj => {
                                               if (obj.error) {
                                                 log(`Error taking screenshot: ${obj.error.message}`, 'error');
                                               } else {
                                                 // the binary representation of the image is contained in `obj.result`
                                                 log(`Sucessfully took screenshot: ${obj.result}`);
                                               }
                                          });
                                          

                                          foxriver76 1 Reply Last reply Reply Quote 0
                                          • foxriver76
                                            foxriver76 Developer @Negalein last edited by foxriver76

                                            @negalein

                                            Wenn du es 1 zu 1 so ersetzen möchtest, dann probiere mal

                                            sendTo('puppeteer.0', 'screenshot', { 
                                                url: 'http://10.0.1.203:3000/d/14q2Khmnz/wetterstation-copy?orgId=1&refresh=1m&kiosk',
                                                path: '../wetterstation.png' // sollte dann in /opt/iobroker/node_modules/iobroker.puppeteer/ landen
                                            });
                                            
                                            

                                            Entsprechend dann den Pfad in deinem exec anpassen. Dann mal schauen was bei dem Screenshot rum kommt, evtl. dann noch mit clip oder fullPage spielen. https://pptr.dev/api/puppeteer.screenshotoptions

                                            Abgesehen davon, dass du Dateien im Adapter Ordner ablegst, möchtest du evtl. das exec auch ins callback packen, da du sonst ein altes Bild sendest, wenn ich dein Skript gerade richtig interpretiere.

                                            Negalein 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            965
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            browser headless phantomjs puppeteer screenshot screenshots website
                                            23
                                            245
                                            25490
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo