NEWS
E-INK Display OpenEPaperLink - Displayanzeige mit Batterie
-
@atc Danke für das Tool! Hat mir heute einiges an Zeit erspart.
Ist der Code frei? Mir sind bei der Arbeit einige Details aufgefallen, die man evtl. erweitern/verbessern könnte.
Speziell ein Alignment wäre recht hilfreich. Aber auch so, eine prima Hilfe. -
@rewenode Danke,
Noch ist der code nicht öffentlich.
Habe aber nun noch ein paar besserungen inkl. Aligment hinzugefügt.
Zusätzlich noch:- Zoom ins bild
- Pixel makierungen
- Copy paste und entfernen mit der tastatur eines elementes
- Ein paar mehr beispiel templates
- Das direkte ändern im bild wenn man werte eines elementes über die eingabe felder ändert
Es gibt nun auch einen besseren Json uploader, damit lassen sich Json templates leichter im display selber testen.
Dieser wird im nächsten Release mit auf jedem AP sein solange kann man sich aber die .html(.gz) datei einfach in den AP kopieren mittels des editor: https://github.com/OpenEPaperLink/OpenEPaperLink/blob/master/ESP32_AP-Flasher/data/www/jsontemplate-demo-v2.html.gz -
@atc sagte in E-INK Display OpenEPaperLink - Displayanzeige mit Batterie:
Json uploader, damit lassen sich Json templates leichter im display selber testen.
Das kam mir gestern auch gleich in den Sinn
Danke schonmal für deine Arbeit -
@atc sagte in E-INK Display OpenEPaperLink - Displayanzeige mit Batterie:
Habe mich nun doch einmal hingesetzt und einen JSON Template designer erstellt
https://atc1441.github.io/oepl_json_designer/Auch von mir ein fettes Danke für den Designer. Spart viele graue Haare.
Vielleicht noch ein Wunsch dazu:
Du hast ja u.a. einen Barcode-Generator drin.....
Könntest du das auch für QR-Codes machen? Das wäre mega️
-
@hammerhead86 Schön wenn es genutzt wird.
Da der AP JSON Parser keine QR Codes kann, kann man diese derzeit auch nicht im Designer implementieren^^
Mein Tipp wäre hier einfach ein Images zu nutzen und dieses mit einem QR code zu füllen -
Hallo,
könnt Ihr einem Einsteiger in das Thema vermitteln, was man an Zutaten und Arbeitsschritten braucht, um Inhalte auf einem eINk Display auszugeben?
1.000 Post durchsuchen ist nicht trivial.Hardware-Fragen:
- Ich brauche so ein paar eInk Displays mit OpenPaperLink firmware, korrekt?
- Ich brauche zusätzlich einen "Access Point", korrekt?
- verstehe ich es so, dass dann iobroker Befehle an den AP per WLAN sendet und der AP per WLAN die Displays steuert, welche rein per Batterie laufen?
Software-Fragen:
- Welche Adapter brauche ich, um alles zu fliegen zu bekommen und wenn ich z.B. den Müllkalender aus https://forum.iobroker.net/topic/66380/e-ink-display-openepaperlink-displayanzeige-mit-batterie/962 nachbauen wollte?
- Designt man das "Bild", das auf das Display soll irgendwie in VIS oder nutzt man diesen https://atc1441.github.io/oepl_json_designer/?
Anleitung:
Kann ich rigendwo nachlesen, welche Schritte ich grob durchführen müsste, wenn ich Hardware und Adapter zusammen habe?Ich kann für meine Fragen auch gernen einen eigenen HowTo für Einsteiger Thread aufmachen, denn hier ist es wirklich unübersichtlich.
Für jede Hilfe wäre ich dankbar, denn was ich hier sehe sieht wirklich toll aus.
-
@bertderkleine
Hallo Bert
Sorry für die späte Antwort.
Du hast sicher Recht, dass es sehr viele Posts sind.
Ich versuche mal zu antworten:@bertderkleine sagte in E-INK Display OpenEPaperLink - Displayanzeige mit Batterie:
Hardware-Fragen:
Ich brauche so ein paar eInk Displays mit OpenPaperLink firmware, korrekt?
Ich brauche zusätzlich einen "Access Point", korrekt?
verstehe ich es so, dass dann iobroker Befehle an den AP per WLAN sendet und der AP per WLAN die Displays steuert, welche rein per Batterie laufen?Quelle ist das Projekt https://openepaperlink.org/
Dabei handelt es sich um ein autarkes System. Es läuft sozusagen erstmal ohne weitere Software oder Computer. Die Mindestvoraussetzung ist:
1 x AccessPoint (Hardware, die mit einem Fuß in deinem WLAN hängt und mit dem anderen Fuß die Displays ansteuert)
1 x E-Paper Display (Tag)Du kannst mit einem Accesspoint aber auch mehrere (viele) E-Paper Displays versorgen, falls sich die Displays in Funkreichweite befinden. Für den Fall, dass die Displays zu weit weg vom Accesspoint sind oder Stahlbeton den Funk stört, kannst du einen zweiten, dritten, vierten, ... Accesspoint nutzen, der im Mesh-Netzwerk dann weitere Displays versorgt. Der Accesspoint kann dann z.B. im Keller, Erdgeschoss und Obergeschoss platziert werden. Nun reicht es aus, dass das Display einen Accesspoint erreicht, den Rest regelt das Mesh-Netzwerk.
Es ist also extrem Skalierbar und erweiterbar. Es gibt z.B. auch Accesspoints, die ein farbiges 4" Display haben, etwas anzeigen können und gleichzeitig als Accesspoint dienen. Angesteuert wird das Display dann am Accesspoint wie ein normales E-Paper Display.Für iobroker gibt es nun viele Möglichkeiten, das ganze einzubinden.
- über puppeteer eine normale VIS-Oberfläche "ausschneiden" und an das Display senden (geht auch mit jeder anderen Webseite
- über Json Templates (vom iobroker JSON an das Display senden)
- Die integrierten Funktionen wie Wetter, QR-Code, Kalender, etc. verwenden
Pauschal kann man also nicht sagen, wie du das an iobroker anbinden sollst. Das bleibt dir überlassen.
Am besten du schreibst mal, was du dir vorstellst.Es gibt inzwischen auch einen JSON Template Editor online. Da kannst du dir dann Display zusammenbauen.
Die Displays sind Batteriebetrieben und halten als Beispiel: 1 x am Tag aktualisieren = 350 Tage.
Ich nutze das System z.B. im Bad (dort lasse ich mir das Wetter, die aktuelle Aussentemperatur und meine offenen Fenster anzeigen. Ein zweites Display zeigt mir den Müllkalender im Schlüsselkasten an. Also immer ein Tag vorher, welche Tonne raus muss.
Hoffe das hilft dir erstmal weiter.
-
@eisbaeeer sagte in E-INK Display OpenEPaperLink - Displayanzeige mit Batterie:
Hoffe das hilft dir erstmal weiter.
Vielen lieben Dank für Deine hilfreiche Darstellung. Genau so einen übersichtlichen Einstieg brauchte ich.
Nun werde ich mal buddeln und mir einen AP besorgen müssen. -
@bertderkleine sagte in E-INK Display OpenEPaperLink - Displayanzeige mit Batterie:
Vielen lieben Dank für Deine hilfreiche Darstellung. Genau so einen übersichtlichen Einstieg brauchte ich.
Nun werde ich mal buddeln und mir einen AP besorgen müssen.Kannst dich gerne bei mir melden. Ich hab hier alles auf Lager.
-
@eisbaeeer
Danke nochmal für das Angebot.Ich bin hier noch auf der iobroker-Seite und zwar lese ich, dass ich den Adapter Puppeteer verwenden sollte/könnte, aber der lässt sich tatsächlich nicht auf meinem Raspi installieren.
Dann lese ich einen Tip, ich sollte dort
/opt/iobroker/node_modules/iobroker.puppeteer/main.js anpassen, damit es läuft (Chromium habe ich manuell installiert)
Das ist nett, aber eben weil die Installation ja nicht klappt, gibts so ein Verzeichnis mit so einem Inhalt gar nicht erst.Dann habe ich mir https://github.com/DrozmotiX/ioBroker.open-epaper-link angeschaut und das sieht nun auch nicht so aus, als ob es eine Lösung wäre mit der 2 Jahre alten v0.1.
Tips, wie ich auf dem Raspi mit Puppeteer weiterkommen könnte?
-
@bertderkleine said in E-INK Display OpenEPaperLink - Displayanzeige mit Batterie:
@eisbaeeer
Danke nochmal für das Angebot.Ich bin hier noch auf der iobroker-Seite und zwar lese ich, dass ich den Adapter Puppeteer verwenden sollte/könnte, aber der lässt sich tatsächlich nicht auf meinem Raspi installieren.
Da meine Glaskugel derzeit beim Service ist bitte mehr iNfos. Was heißt " lässt sich tatsächlich nicht auf meinem Raspi installieren"? Fehlermelungen? Log? ...
Dann lese ich einen Tip, ich sollte dort
/opt/iobroker/node_modules/iobroker.puppeteer/main.js anpassen, damit es läuft (Chromium habe ich manuell installiert)Von wo hast du den Tipp irgendwas direkt in einem Adapter zu modifizieren gefunden. Davon ist generell dringend abzuraten - außer der Dev empfihlt es im Rahmen einer Fehlersuche. Wenn es ein Problem mit einem Adapter gibt ist der richtige Weg hier ein Topic und / oder ein Issue beim Adapter zu öffnen,
-
@mcm1957
Siehe den Hinweis von @BananaJoe hier:
https://forum.iobroker.net/topic/66380/e-ink-display-openepaperlink-displayanzeige-mit-batterie/274Und die "Lösung" genau im Github:
https://github.com/foxriver76/ioBroker.puppeteer/issues/13I've fixed the problem by first installing chromium (Debian 12 / ARM64 in my case): sudo apt install chromium 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"); } Now everything works as expected.
Mein Fehlerlog:
$ iobroker add puppeteer auto --host iobrokerpi4b --debug NPM version: 10.8.2 Installing iobroker.puppeteer@0.4.0... (System call) > puppeteer@23.11.1 postinstall> node install.mjs **INFO** Skipping Firefox download as instructed. Error: ERROR: Failed to set up chrome-headless-shell v131.0.6778.204! Set "PUPPETEER_SKIP_DOWNLOAD" env variable to skip download. at downloadBrowser (file:///opt/iobroker/node_modules/puppeteer/lib/esm/puppeteer/node/install.js:26:15) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Promise.all (index 1) at async downloadBrowsers (file:///opt/iobroker/node_modules/puppeteer/lib/esm/puppeteer/node/install.js:84:9) { [cause]: Error: Client network socket disconnected before secure TLS connection was established at TLSSocket.onConnectEnd (node:_tls_wrap:1730:19) at TLSSocket.emit (node:events:536:35) at endReadableNT (node:internal/streams/readable:1698:12) at process.processTicksAndRejections (node:internal/process/task_queues:82:21) { code: 'ECONNRESET', path: null, host: 'storage.googleapis.com', port: 443, localAddress: undefined }} npm error code 1 npm error path /opt/iobroker/node_modules/puppeteer npm error A complete log of this run can be found in: /home/iobroker/.npm/_logs/2025-07-13T19_22_49_037Z-debug-0.log Error: ERROR: Failed to set up chrome-headless-shell v131.0.6778.204! Set "PUPPETEER_SKIP_DOWNLOAD" env variable to skip download. at downloadBrowser (file:///opt/iobroker/node_modules/puppeteer/lib/esm/puppeteer/node/install.js:26:15) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Promise.all (index 1) at async downloadBrowsers (file:///opt/iobroker/node_modules/puppeteer/lib/esm/puppeteer/node/install.js:84:9) { [cause]: Error: Client network socket disconnected before secure TLS connection was established at TLSSocket.onConnectEnd (node:_tls_wrap:1730:19) at TLSSocket.emit (node:events:536:35) at endReadableNT (node:internal/streams/readable:1698:12) at process.processTicksAndRejections (node:internal/process/task_queues:82:21) { code: 'ECONNRESET', path: null, host: 'storage.googleapis.com', port: 443, localAddress: undefined }}npm error code 1npm error path /opt/iobroker/node_modules/puppeteernpm error command failednpm error command sh -c node install.mjsnpm error A complete log of this run can be found in: /home/iobroker/.npm/_logs/2025-07-13T19_22_49_037Z-debug-0.loghost.iobrokerpi4b Cannot install iobroker.puppeteer@0.4.0: 1 ERROR: Process exited with code 25
-
I've fixed the problem by first installing chromium (Debian 12 / ARM64 in my case): sudo apt install chromium {1} 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"); } Now everything works as expected.
Das ist schon lange überholt. Mit einem aktuellen System wird einfach Chromium installiert
sudo apt install chromium-browser -y
Mache danach event. noch das hier
sudo apt update && sudo apt full-upgrade
Mache einen reboot und danach im ioBroker der Puppeteer Adapter. Fertig.
-
@beowolf sagte in E-INK Display OpenEPaperLink - Displayanzeige mit Batterie:
I've fixed the problem by first installing chromium (Debian 12 / ARM64 in my case): sudo apt install chromium {1} 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"); } Now everything works as expected.
Das ist schon lange überholt. Mit einem aktuellen System wird einfach Chromium installiert
sudo apt install chromium-browser -y
Mache danach event. noch das hier
sudo apt update && sudo apt full-upgrade
Mache einen reboot und danach im ioBroker der Puppeteer Adapter. Fertig.
Habe ich alles gemacht, es führt leider nicht zum Ziel, weiter Fehler:
$ iobroker add puppeteer auto --host iobrokerpi4b --debug NPM version: 10.8.2 Installing iobroker.puppeteer@0.4.0... (System call) > puppeteer@23.11.1 postinstall> node install.mjs **INFO** Skipping Firefox download as instructed. Error: ERROR: Failed to set up chrome v131.0.6778.204! Set "PUPPETEER_SKIP_DOWNLOAD" env variable to skip download. at downloadBrowser (file:///opt/iobroker/node_modules/puppeteer/lib/esm/puppeteer/node/install.js:26:15) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Promise.all (index 0) at async downloadBrowsers (file:///opt/iobroker/node_modules/puppeteer/lib/esm/puppeteer/node/install.js:84:9) { [cause]: Error: Client network socket disconnected before secure TLS connection was established at TLSSocket.onConnectEnd (node:_tls_wrap:1730:19) at TLSSocket.emit (node:events:536:35) at endReadableNT (node:internal/streams/readable:1698:12) at process.processTicksAndRejections (node:internal/process/task_queues:82:21) { code: 'ECONNRESET', path: null, host: 'storage.googleapis.com', port: 443, localAddress: undefined }} npm error code 1 npm error path /opt/iobroker/node_modules/puppeteernpm error command failednpm error command sh -c node install.mjs npm error A complete log of this run can be found in: /home/iobroker/.npm/_logs/2025-07-14T06_42_00_915Z-debug-0.log Error: ERROR: Failed to set up chrome v131.0.6778.204! Set "PUPPETEER_SKIP_DOWNLOAD" env variable to skip download. at downloadBrowser (file:///opt/iobroker/node_modules/puppeteer/lib/esm/puppeteer/node/install.js:26:15) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Promise.all (index 0) at async downloadBrowsers (file:///opt/iobroker/node_modules/puppeteer/lib/esm/puppeteer/node/install.js:84:9) { [cause]: Error: Client network socket disconnected before secure TLS connection was established at TLSSocket.onConnectEnd (node:_tls_wrap:1730:19) at TLSSocket.emit (node:events:536:35) at endReadableNT (node:internal/streams/readable:1698:12) at process.processTicksAndRejections (node:internal/process/task_queues:82:21) { code: 'ECONNRESET', path: null, host: 'storage.googleapis.com', port: 443, localAddress: undefined }}npm error code 1npm error path /opt/iobroker/node_modules/puppeteernpm error command failednpm error command sh -c node install.mjsnpm error A complete log of this run can be found in: /home/iobroker/.npm/_logs/2025-07-14T06_42_00_915Z-debug-0.log host.iobrokerpi4b Cannot install iobroker.puppeteer@0.4.0: 1 ERROR: Process exited with code 25
-
Ich habe mal gerade auf meinem Test-Raspberry das aktuelle PI-Image aufgespielt. Danach iobroker, dann Chromium und natürlich den Adapter Puppeteer in ioBroker installiert. Alles lief ohne Problem durch.
Keine Ahnung was du wo auf deinem System schon gemacht hast, aber ich glaube, das der Fehler ganz woanders liegt.
Mach doch mal ein Backup, nimm zum Testen eine neue SD-Karte, installiere das aktuelle Image, usw.
Du wirst sehen, das das alles so durchläuft.Möchtest du das nicht, wäre es glaube ich besser, wenn du einen eigenen Beitrag öffnest. Das führt hier wohl etwas zu weit.
-
@beowolf
Danke Dir. Problem ist mittlerweile auch gelöst.Ich hatte schon einen eigenen Thread aufgemacht: https://forum.iobroker.net/topic/81640/gelöst-puppeteer-adapter-läuft-auf-raspi-4-nicht
-
@bertderkleine
Trage doch noch den Link zu deinem neuen Beitrag ein. So kann jeder der event. auch damit ein Problem hat es einfacher finden. -
@beowolf
erledigt.