Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Praktische Anwendungen (Showcase)
    4. E-INK Display OpenEPaperLink - Displayanzeige mit Batterie

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    E-INK Display OpenEPaperLink - Displayanzeige mit Batterie

    This topic has been deleted. Only users with topic management privileges can see it.
    • E
      eMd @BananaJoe last edited by eMd

      @bananajoe

      reboot erledigt, problemlos.
      temp war leer
      Bild hat er sich wieder geholt und das ist heile angekommen

      dann zeigt er es wieder defekt an und spielt es auch so auf den Tag...das ist doof.

      habe den tag letzte woche per ebay bestellt und nicht selber geflsht, kA ob das aktuell ist. selber malen funktioniert zumindest 😉
      0029, scheint aktuell zu sein die Firmware (EL022H4WRC)

      1 Reply Last reply Reply Quote 0
      • E
        eMd last edited by

        Ich bedanke mich bei euch allen und vorallem bei @BananaJoe !

        Ich weiß nicht warum, aber es geht nun, habe in der zwischenzeit gefühlt 1000 Sachen geändert und mit einmal geht es.
        Keine Ahnung wo da der Fehler lag...

        MfG
        eMd

        Webranger 1 Reply Last reply Reply Quote 1
        • B
          bonsai308 @BananaJoe last edited by

          @bananajoe said in E-INK Display OpenEPaperLink - Displayanzeige mit Batterie:

          Die Screenshots werden doppelt so groß gefertigt und dann herunterskaliert, dafür muss Imagemagick evenfalls installiert sein (für den Befehl convert)

          Eine Frage: wie genau erledigst Du das konvertieren?

          BananaJoe 1 Reply Last reply Reply Quote 0
          • BananaJoe
            BananaJoe Most Active @bonsai308 last edited by BananaJoe

            @bonsai308 ich nutze dazu ImageMagick / den Befehl Convert:

            /usr/bin/convert /var/www/html/openepaper/FensterTueren_4x.png -sample 400x300 -quality 100 -sampling-factor 4:4:4 -brightness-contrast 0x99 /var/www/html/openepaper/FensterTueren.jpg' 
            

            Die Parameter hatte ich mir durch ausprobieren ausgeklüngelt.

            Ganz genau: Ich habe das ganze in ein Python-Skript gepackt (weil da heraus playwright gut ansteuern kann, mit einem Aufruf gleich 4 Webseiten abholen) und starte aus diesem Skript auch die Konvertierung.
            Abgelegt wird alles im www Verzeichnis von Apache aus dem sich die OpeneEpaper AccessPoints die Bilder abholen können.

            1 Reply Last reply Reply Quote 0
            • E
              eMd last edited by

              Ich bin euch ja noch meinen Einsatzbereich schuldig 😎

              Ich habe für meinen Sohn es so eingestellt, daß immer der nächste Tag als Stundenplan angezeigt wird damit er abends die Mappe packen kann.
              Täglich um 12uhr springt er auf den nächsten Tag um.

              2,2zoll Tag mit Magnet an seinem White Board befestigt.

              Noch ist der Stundenplan einfach nur eine statische HTML Datei. In Zukunft wird das dynamisch über webuntis eingespielt da die Schule da den Stundenplan hinterlegt hat. So kann auch Ausfall und Fächerwechsel angezeigt werden (in rot)

              MfG
              eMd

              haselchen Eisbaeeer 2 Replies Last reply Reply Quote 0
              • haselchen
                haselchen Most Active @eMd last edited by haselchen

                Puh, 39 Seiten....

                Vielleicht kann meine Frag ja schnell abgehakt werden.
                Ich hab nen Aqara Temp.Sensor.
                Und nur die Temperatur soll auf dem Tag angezeigt werden.
                Bisher nutze ich die Temperatureinstellung meines Wohnortes.
                Das ist ja als Template hinterlegt.

                @BananaJoe
                @Beowolf
                @bimmi

                S 1 Reply Last reply Reply Quote 0
                • S
                  stenmic @haselchen last edited by

                  @haselchen sagte in E-INK Display OpenEPaperLink - Displayanzeige mit Batterie:

                  Puh, 39 Seiten....

                  Vielleicht kann meine Frag ja schnell abgehakt werden.
                  Ich hab nen Aqara Temp.Sensor.
                  Und nur die Temperatur soll auf dem Tag angezeigt werden.
                  Bisher nutze ich die Temperatureinstellung meines Wohnortes.
                  Das ist ja als Template hinterlegt.

                  @BananaJoe
                  @Beowolf
                  @bimmi

                  schau dir das mal an, ist denke ich am einfachsten
                  https://forum.iobroker.net/post/1186555

                  haselchen B 2 Replies Last reply Reply Quote 0
                  • haselchen
                    haselchen Most Active @stenmic last edited by haselchen

                    @stenmic

                    Danke für Dein Feedback.
                    Habs nach Stunden und Gebastel geschafft im Zusammenspiel mit Homeassistant.
                    Falls das jemand nachmachen möchte...

                    Im Iobroker MQTT Client installiert. Dann einen DP ausgewählt und dort MQTT Client aktiviert.
                    In HA MQTT Mosquitto installiert und mit den IObroker Daten gefüttert.
                    Eine YAML gebastelt (von Github), https://github.com/OpenEPaperLink/Home_Assistant_Integration)
                    Damit eine Automatisierung erstellt.

                    42d0e53f-2cc8-43a2-b819-2e744f21a22f-grafik.png

                    Und so sieht es aus:

                    IMG_2824.jpeg

                    Also ich finde, gar nicht mal so schlecht 🙂
                    Einmal das ganze Prozedere gemacht, kann man alles drauf darstellen.

                    S 1 Reply Last reply Reply Quote 0
                    • S
                      stenmic @haselchen last edited by

                      @haselchen hätte aber auch ein einfaches Blockly gereicht 🙂

                      haselchen 1 Reply Last reply Reply Quote 0
                      • haselchen
                        haselchen Most Active @stenmic last edited by

                        @stenmic

                        Wer will denn hier einfach 😂

                        1 Reply Last reply Reply Quote 0
                        • B
                          Beowolf @stenmic last edited by Beowolf

                          Hat sich erledigt. Diesen Beitrag nicht beachten.

                          S 1 Reply Last reply Reply Quote 0
                          • S
                            stenmic @Beowolf last edited by stenmic

                            @beowolf
                            wenn du meinst
                            nenn mir mal bitte ne echte Quelle dazu in der das steht.

                            B 1 Reply Last reply Reply Quote 0
                            • B
                              Beowolf @stenmic last edited by Beowolf

                              Hat sich erledigt. Diesen Beitrag nicht beachten.

                              S 2 Replies Last reply Reply Quote 1
                              • S
                                stenmic @Beowolf last edited by stenmic

                                @BananaJoe
                                bitte um Aufklärung, wo ist die Quelle deiner Behauptung?
                                https://forum.iobroker.net/topic/66380/e-ink-display-openepaperlink-displayanzeige-mit-batterie/761?_=1729425546222

                                Es geht um axios

                                1 Reply Last reply Reply Quote 0
                                • S
                                  stenmic @Beowolf last edited by

                                  @beowolf sagte in E-INK Display OpenEPaperLink - Displayanzeige mit Batterie:

                                  @stenmic sagte in E-INK Display OpenEPaperLink - Displayanzeige mit Batterie:

                                  @beowolf
                                  wenn du meinst
                                  nenn mir mal bitte ne echte Quelle dazu in der das steht.

                                  Naj, es steht in einem Beitrag von "BananaJoe". Er würde das nicht schreiben, nur weil so viel Tasten auf der Tastatur sind.

                                  wenn du alles glaubst…

                                  B 1 Reply Last reply Reply Quote 0
                                  • B
                                    Beowolf @stenmic last edited by Beowolf

                                    Hat sich erledigt. Diesen Beitrag nicht beachten.

                                    S 1 Reply Last reply Reply Quote 0
                                    • S
                                      stenmic @Beowolf last edited by stenmic

                                      @beowolf
                                      so ganz mochte ich deinen Hinweis ohne richtige Quellenangabe auch nicht. Nur wenn hier ein User was schreibt, ist das ohne Quelle nix wert. Gerade bei so einer Behauptung.
                                      Aber lass uns besser jetzt aufhören.

                                      BananaJoe 1 Reply Last reply Reply Quote 0
                                      • BananaJoe
                                        BananaJoe Most Active @stenmic last edited by

                                        @stenmic Mein Post bezog sich auf das gepostete Skript eines anderen Benutzers /was er gerade benutzt:
                                        a90a7352-d545-4f79-bc95-c457d95e67d3-image.png

                                        Aber ich habe gerade mal gesucht und es genau falsch herum verwechselt, request war das alte und muss durch axios ersetzt werden, was auch die neuen Blockly-Bausteine für http-Abfragen verwenden.

                                        B 1 Reply Last reply Reply Quote 1
                                        • B
                                          Beowolf @BananaJoe last edited by

                                          @bananajoe

                                          So einfach kann es gehen. Danke für die Korrektur. 👍

                                          G 1 Reply Last reply Reply Quote 0
                                          • G
                                            glitzi @Beowolf last edited by

                                            Hallo,

                                            seit dem Update von Pupeteer auf 0.4.0 bekomme ich folgende Fehlermeldung.

                                            
                                            javascript.0
                                            2024-10-28 18:54:02.284	error	at processImmediate (node:internal/timers:483:21)
                                            
                                            javascript.0
                                            2024-10-28 18:54:02.284	error	at Immediate._onImmediate (file:///opt/iobroker/node_modules/@iobroker/db-states-redis/src/lib/states/statesInRedisClient.ts:381:37)
                                            
                                            javascript.0
                                            2024-10-28 18:54:02.284	error	at change (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.ts:10886:45)
                                            
                                            javascript.0
                                            2024-10-28 18:54:02.284	error	at Object.cb (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:3097:38)
                                            
                                            javascript.0
                                            2024-10-28 18:54:02.284	error	at Object.<anonymous> (script.js.ESP-E-INK.VIS-View-an-eTag-senden:43:24)
                                            
                                            javascript.0
                                            2024-10-28 18:54:02.284	error	at Function.from (node:buffer:320:9)
                                            
                                            javascript.0
                                            2024-10-28 18:54:02.283	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
                                            

                                            Hier mein Script

                                            
                                            sendTo('puppeteer.0', 'screenshot', { 
                                                url: urlOfVISView,                     
                                                path: imageSaveToFilenameWithPath,     
                                                width: viewWidth,                      
                                                height: viewHeight,                    
                                                quality: jpgQuality,                   
                                             
                                                waitOption: {
                                                    waitForSelector: waitForSelector,  
                                                    waitForTimeout: 30000              
                                                },
                                             
                                                fullPage: false,                       
                                             
                                                clip: {         
                                                    x: cutoutX,                        
                                                    y: cutoutY,                        
                                                    width: cutoutWidth,                
                                                    height: cutoutHeight               
                                                }
                                            }, obj => {
                                                if (obj.error) {
                                                    console.warn("Fehler beim Aufruf der View: " + urlOfVISView + " => " + obj.error.message);
                                                } else {
                                                    const http = require('http'); 
                                                    const https = require('https');
                                                    const { URL } = require('url');
                                             
                                                    const boundary = '--------------------------' + Date.now().toString(16);
                                                    const CRLF = '\r\n';
                                             
                                                    // Payload-Erstellung
                                                    const payload = Buffer.concat([
                                                        Buffer.from(`--${boundary}${CRLF}Content-Disposition: form-data; name="dither"${CRLF}${CRLF}${dither}${CRLF}`),
                                                        Buffer.from(`--${boundary}${CRLF}Content-Disposition: form-data; name="mac"${CRLF}${CRLF}${ePaperMAC}${CRLF}`),
                                                        Buffer.from(`--${boundary}${CRLF}Content-Disposition: form-data; name="image"; filename="screenshot.jpg"${CRLF}Content-Type: image/jpeg${CRLF}${CRLF}`),
                                                        Buffer.from(obj.result, 'binary'),
                                                        Buffer.from(`${CRLF}--${boundary}--${CRLF}`)
                                                    ]);
                                             
                                                    // URL Parsing
                                                    const url = new URL(imageUploadURL);
                                                    const options = {
                                                        hostname: url.hostname,
                                                        port: url.port || (url.protocol === 'https:' ? 443 : 80),
                                                        path: url.pathname + (url.search || ''),
                                                        method: 'POST',
                                                        headers: {
                                                            'Content-Type': 'multipart/form-data; boundary=' + boundary,
                                                            'Content-Length': payload.length
                                                        }
                                                    };
                                             
                                                    // Protokollwahl
                                                    const protocol = url.protocol === 'https:' ? https : http;
                                             
                                                    // HTTP Request
                                                    const req = protocol.request(options, function(res) {
                                                        console.log('ImageUploadStatusCode:', res.statusCode);
                                                        res.on('data', function(chunk) {
                                                            console.log('Response:', chunk.toString());
                                                        });
                                                    });
                                             
                                                    req.on('error', function(e) {
                                                        console.error('Fehler beim Hochladen:', e.message);
                                                    });
                                             
                                                    req.write(payload);
                                                    req.end();
                                                }
                                            });
                                            
                                            
                                            B 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            527
                                            Online

                                            31.7k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

                                            42
                                            991
                                            229958
                                            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