NEWS
Puppeteer: Screenshots PhantomJS Alternative
-
@thomas-braun Ja das wäre die Intention, Controller sollte diese installieren bei >=0.2.1.
-
@foxriver76 soll ich nochmal deinstallieren, Host umstellen und install Log posten?
-
@crunchip gerne
-
@foxriver76 aaaaaaaalso
neu installiert, Instanz ist jetzt grün
jedoch im log2022-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
-
@crunchip Okay, passt, sprich alle anderen Libs konnte er installieren. Hast du davor von GH installiert oder igend etwas anders gemacht?
-
@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 -
@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.
-
@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
-
@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.
-
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.
Das ist mein Repo was ich ausgewählt habe:
Wie kriege ich puppeteer installiert?
oder
Ist an meinem iOBroker was "krumm"?Danke,
fraso -
iob stop sudo apt update sudo apt full-upgrade sudo reboot
-
@fraso hast du per Admin Oberfläche installiert? Weil du schreibst via
npm install …
? -
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.
-
Hallo
Ich möchte gern das alte Phantomjs Script durch Puppeteer ersetzen.
Bin gerade komplett überfordert damit.Könntest du mir da weiterhelfen?
-
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 mitclip
oderfullPage
spielen. https://pptr.dev/api/puppeteer.screenshotoptionsAbgesehen 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.
-
@foxriver76 sagte in Puppeteer: Screenshots PhantomJS Alternative:
evtl. dann noch mit clip
Ok, mit
clip?
geb ich dann die Dimension vor.
Dann nicht wie bei Phantomjs mitheight
undwidth
.sendTo('puppeteer.0', 'screenshot', { url: 'http://10.0.1.203:3000/d/14q2Khmnz/wetterstation-copy?orgId=1&refresh=1m&kiosk', clip?: 1920x757 path: '../wetterstation.png' });
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.
Hmmm, versteh Bahnhof.
Im Phantom-Script funktionierte es. Er hat das .png in/opt/iobroker/node_modules/iobroker.phantomjs/
gespeichert und dann gleich auf den FTP gespielt.
Ahhh, stimmt. Kam vor, dass zT nur ein kaputtes halbes Bild am FTP angekommen ist. -
@negalein Clip ist zum ausschneiden eines Bildes. Wenn du eine Auflösung festlegen möchtest, werde ich evtl nochmal machbesseren dürfen, da man dies leider anderweitig setzen muss. Probier mal bitte ob es sonst soweit passt für dich und dann implementiere ich noch die Auflösung.
-
@foxriver76 sagte in Puppeteer: Screenshots PhantomJS Alternative:
Auflösung
Danke
Auflösung war etwas irrtümlich ausgedrückt.
Ich meinte den Bildausschnitt. zB 1920 px von der oberen linken Ecke nach rechts, 757 px von der oberen linken Ecke nach unten. -
@negalein Dann mit clip
{ clip: { x: 0, y: 0, width: 1920, height: 757 } }
zusätzlich angeben, siehe https://pptr.dev/api/puppeteer.screenshotclip
-
@foxriver76 sagte in Puppeteer: Screenshots PhantomJS Alternative:
Dann mit clip
Sorry für die Verspätung. War im Urlaub.
Hab es jetzt so versucht.
sendTo('puppeteer.0', 'screenshot', { url: 'http://10.0.1.203:3000/d/14q2Khmnz/wetterstation-copy?orgId=1&refresh=1m&kiosk', { clip: { x: 0, y: 0, width: 1920, height: 757 } } path: '../wetterstation.png' // sollte dann in /opt/iobroker/node_modules/iobroker.puppeteer/ landen });
Dann kommt
error javascript.0 (1426) script.js.Wetter.Wetter_to_FTP compile failed: at script.js.Wetter.Wetter_to_FTP:3