NEWS
E-INK Display OpenEPaperLink - Displayanzeige mit Batterie
-
@beowolf nein, habe ich nicht.
pip install pytest-playwright playwright install
funktioniert vermutlich? Eine schnelle Suche ergab das Playwright seit Version 17 auch ARM64 unterstützt.
Sieh auch: https://playwright.dev/python/docs/introMein Skript findest du unter https://forum.iobroker.net/post/1184915
Auf dem System muss zusätzlich auchsudo install imagemagick
Installiert sein. Playwright habe ich ja deshalb genommen weil es damit gelang die Screenshots in 4facher Vergrößerung zu erstellen und dann wieder mit
convert
(von imagemagick) verkleinere. So haben die Bilder auf den Tags keine Fransen mehr. -
Hi,
kann mir bitte jemand helfen bei dem Punkt Puppeteer auf einem Raspberry zu laufen zu kriegen....Auf ioBroker ist es installiert, Chromium ebenfalls, nur komme ich mit der "Anleitung" nicht weiter...
Additional context
I've fixed the problem by first installing chromium (Debian 12 / ARM64 in my case):
sudo apt install chromiumDer Punkt:
Change the adapter's main.js onReady() function to load the correct binary (chromium in my case):async onReady() { this.browser = await import_puppeteer.default.launch({ headless: "new", defaultViewport: null, executablePath: '/usr/bin/chromium', args: ['--no-sandbox', '--disable-setuid-sandbox'] }); this.subscribeStates("url"); this.log.info("Ready to take screenshots"); }
Wo und wie muss ich den Codeschnippsel einfügen?
Wo finde ich diese main.js und bzw. bezieht sich dies auf Chromium oder Puppeteer?Danke.
-
Das bekommen wir hin.
Die Datei ist hier
/opt/iobroker/node_modules/iobroker.puppeteer/build
In der Datei ab Zeile 32 (bitte genau nachschauen) wir das Vorhandene ersetzt.
WICHTIG.
Wenn du ein Backup einspielst, muß die Änderung erneut gemacht werden.
-
@beowolf :
super danke für die schnelle Antwort!So hab ich das nun eingefügt:
Aber laufen mag es trotzdem nicht:
-
-
@beowolf
Es war die 0.3.0 drauf.
Mit der 0.2.7 läuft es nun.
Danke Dir! -
Bei der aktuellen Puppeteer-Version kann man den Pfad in den Einstellungen ändern. Muss nix mehr in der main.js "gehackt" werden
-
Und was muß dort dann stehen?
-
@beowolf Wenn Du Chromium installiert hast, dann z.B. /usr/bin/chromium
Also das, was Du sonst manuell in die main.js schreiben würdest. Kommt darauf an, wie Du Chromium auf Deinem System installieren kannst.
-
@beowolf sagte in E-INK Display OpenEPaperLink - Displayanzeige mit Batterie:
Und was muß dort dann stehen?
Den Installationspfad kannst du z. B. so herausfinden:
type -P chromium
-
Jetzt hab ich doch noch ein Problem und ein paar kleinere Verständnis Fragen:
Zum ersten hab ich mal drei Bilder gemacht. Zwischen den Bildern liegen 5 Minuten Abstand, den ich per Blockly trickere. Das mit den nicht verfügbaren Werten scheint wahllos zu sein.
Liegt das am Timing (waitForTimeout) der auf 10000ms gestellt ist und die Seite noch nicht sauber geladen wurde?
Btw. wie könnte man die Zeit ändern? Wenn ich von Blockly auf JS umstelle, scheint es "Schreibgeschützt".
.Zu meinen Verständnis Fragen:
Was bewirken die Optionen genau?:
Für was kann man die Auflösung der Website einstellen? Also was bewirkt es dann am Tag?
Und was genau bewirkt die Qualitätseinstellung?
Bzw. Innerhalb welchen Bereichs kann man diese verstellen?Und meine zwei letzten Fragen beziehen sich auf die AP Config:
Was kann man mit diesen beiden Optionen einstellen?
Herzlichen Dank schonmal im voraus.
-
Jetzt hab ich doch noch ein Problem und ein paar kleinere Verständnis Fragen:
Zum ersten hab ich mal drei Bilder gemacht. Zwischen den Bildern liegen 5 Minuten Abstand, den ich per Blockly trickere. Das mit den nicht verfügbaren Werten scheint wahllos zu sein.
Liegt das am Timing (waitForTimeout) der auf 10000ms gestellt ist und die Seite noch nicht sauber geladen wurde?
Btw. wie könnte man die Zeit ändern? Wenn ich von Blockly auf JS umstelle, scheint es "Schreibgeschützt".
.
Zu meinen Verständnis Fragen:
Was bewirken die Optionen genau?:
Für was kann man die Auflösung der Website einstellen? Also was bewirkt es dann am Tag?
Und was genau bewirkt die Qualitätseinstellung?
Bzw. Innerhalb welchen Bereichs kann man diese verstellen?Und meine zwei letzten Fragen beziehen sich auf die AP Config:
Was kann man mit diesen beiden Optionen einstellen?
Herzlichen Dank schonmal im voraus.
-
Ich habe chromium installiert.
Und
type -P chromium
gibt auch
/usr/bin/chromium
zurück.
Wenn ich das im Adapter eintrage
kommt das als Fehlermeldung im Protokoll
host.raspberrypi 2024-09-21 20:57:53.253 info Restart adapter system.adapter.puppeteer.0 because enabled host.raspberrypi 2024-09-21 20:57:53.252 error instance system.adapter.puppeteer.0 terminated with code 6 (UNCAUGHT_EXCEPTION) puppeteer.0 2024-09-21 20:57:52.505 warn Terminated (UNCAUGHT_EXCEPTION): Without reason puppeteer.0 2024-09-21 20:57:52.504 info terminating puppeteer.0 2024-09-21 20:57:52.498 error Failed to launch the browser process! undefined TROUBLESHOOTING: https://pptr.dev/troubleshooting puppeteer.0 2024-09-21 20:57:52.498 error Error: Failed to launch the browser process! undefined TROUBLESHOOTING: https://pptr.dev/troubleshooting at ChildProcess.onClose (/opt/iobroker/node_modules/@puppeteer/browsers/lib/cjs/launch.js:310:24) at ChildProcess.emit (node:events:529:35) at ChildProcess._handle.onexit (node:internal/child_process:292:12) puppeteer.0 2024-09-21 20:57:52.497 error unhandled promise rejection: Failed to launch the browser process! undefined TROUBLESHOOTING: https://pptr.dev/troubleshooting puppeteer.0 2024-09-21 20:57:52.497 error Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). puppeteer.0 2024-09-21 20:57:52.470 info starting. Version 0.3.0 in /opt/iobroker/node_modules/iobroker.puppeteer, node: v18.20.4, js-controller: 6.0.11 host.raspberrypi 2024-09-21 20:57:51.132 info instance system.adapter.puppeteer.0 in version "0.3.0" started with pid 5705 host.raspberrypi 2024-09-21 20:57:51.132 info instance system.adapter.puppeteer.0 in version "0.3.0" started with pid 5705
Fehlt da noch etwas?
-
Bin wieder auf 0.2.8 zurück. Da funktioniert es wenigstens.
-
@beowolf Komisch, funktioniert bei mir einwandfrei.
Die Einstellungen sind bei mir wie folgt:
-
@oxident
Jetzt ist mir klar warum das hier nicht geht.ioBroker bot mir immer nur die Version 0.3.0 an. Dort fehlt die Einstellung zum externen Browser.
Erst im Expertenmodus und der Suche über die Katze konnte ich 0.4.0 installieren.
Jetzt kommen zwar andere Fehlermeldungen, aber das muss ich hier mal schauen.
javascript.0 2024-09-22 09:44:21.315 error at processImmediate (node:internal/timers:476:21) javascript.0 2024-09-22 09:44:21.315 error at Immediate._onImmediate (file:///opt/iobroker/node_modules/@iobroker/db-states-redis/src/lib/states/statesInRedisClient.ts:381:37) javascript.0 2024-09-22 09:44:21.315 error at change (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.ts:10886:45) javascript.0 2024-09-22 09:44:21.315 error at Object.cb (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:3097:38) javascript.0 2024-09-22 09:44:21.315 error at Object.<anonymous> (script.js.common.EPaper-Displays.Obergeschoss.Hauswirtschaftsraum:42:24) javascript.0 2024-09-22 09:44:21.315 error at Function.from (node:buffer:325:9) javascript.0 2024-09-22 09:44:21.315 error at new NodeError (node:internal/errors:405:5) javascript.0 2024-09-22 09:44:21.315 error Error in callback: TypeError: The first argument must be of type string or an instance of Buffer, ArrayBuffer, or Array or an Array-like Object. Received an instance of Object
-
@bonsai308 said in E-INK Display OpenEPaperLink - Displayanzeige mit Batterie:
(waitForTimeout) der auf 10000ms
Also wie man die "waitForTimeout" Zeit ändert, habe ich mittlerweile herausgefunden. Versuche zw. 3 und 20 sek. brachten aber keine Änderung. Es werden die Werte trotzdem nicht sauber geladen.
-
Du meinst hier? Richtig?
-
@beowolf
Ja genau, da hab ich mittlerweile schon versch. Test's gemacht, aber ohne Erfolg.
Hat es eigentlich einen Einfluss ob man VIS oder VIS2 verwendet?
Ich verwende VIS2...
Nicht, dass es daher kommt...?!
Wobei es komisch wäre, wenn es mit VIS2 zu Problemen kommen würde, denn die URL direkt aufgerufen lässt keine Fehler der gebastelten "Tag-Ansicht" erkennen. -
@bonsai308 sagte in E-INK Display OpenEPaperLink - Displayanzeige mit Batterie:
Was bewirken die Optionen genau?:
Für was kann man die Auflösung der Website einstellen? Also was bewirkt es dann am Tag?
Und was genau bewirkt die Qualitätseinstellung?
Bzw. Innerhalb welchen Bereichs kann man diese verstellen?Puppeteer ruft ja die Webseite per Browser auf - so wie du das auch an deinem PC oder Tablet machen würdest.
viewHeight
undviewWidth
geben nun die Größe des Browserfensters an. Das kann wichtig sein, zum Beispiel wenn man VIS2 und ein Responsive Design verwendet, also wo zum Beispiel dann Bereiche untereinander statt nebeneinander dargestellt werden. Oder das Seitenmenü einer Webseite bei geringer Auslösung ausgeblendet wird.Qualität: JPEG-Bilder können mit einer Qualität von 1 bis 100 gespeichert werden. Ein Wert von unter 100 verschlechtert die Qualität, verringert dann aber auch die Bildgröße, teilweise dramatisch. Statt 2MByte bei 100% ist das Bild dann z.B. nur noch 400KByte bei 90% groß. In der Regel werden Werte zwischen 90 und 95% verwendet. Aber das klappt nur bei Fotos etc. gut ohne das gleich auffällt. Bei etwas gezeichneten mit geraden Linien, etwas mit wenig Farben wird das Bild dann verwaschen. Also für die ePaper-Tags immer mit 100%