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.
    • 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
                            • B
                              Beowolf @glitzi last edited by

                              @glitzi
                              Jepp, ist so.

                              wieder zurück auf 0.2.8 und alles ist gut.

                              Änderung in der

                              /opt/iobroker/node_modules/iobroker.puppeteer/build/main.js

                              nicht vergessen.

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

                                @foxriver76
                                Schau mal bitte hier, seit dem Update auf die 0.4.0 habe ich Probleme und bin zurück auf die 0.3.0.

                                https://forum.iobroker.net/topic/66380/e-ink-display-openepaperlink-displayanzeige-mit-batterie/789

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

                                  @glitzi zeig mal den unterschied von obj.result zwischen den beiden Versionen. Im Endeffekt knallt es ja da vermutlich beim Buffer.from im Skript

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

                                    @foxriver76
                                    Ich bin ja nicht so der Programmierer, ehr der C&P Typ, wie bekomme ich denn da dran?

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

                                      @glitzi nach Zeile 22 mal ne Zeile einfügen mit log(JSON.stringify(obj))

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

                                        @foxriver76

                                        
                                        Hier der Auszug
                                        
                                        **V0.3.0**
                                        
                                        script.js.ESP-E-INK.VIS-View-an-eTag-senden: {"result":{"type":"Buffer","data":[255,216,255,224,0,16,74,70,73,70,0,1,1,0,0,1,0,1,0,0, 
                                         
                                        ....... gekürzt
                                        
                                        6,125,67,126,114,81,96,215,6,215,200,108,126,159,93,53,210,219,199,230,111,26,150,155,50,223,42,241,147,98,90,182,250,87,37,27,44,182,76,173,234,196,86,67,221,64,146,99,103,143,42,25,108,82,81,71,192,201,41,147,149,22,59,218,146,39,113,195,135,14,17,127,255,217]}}
                                        
                                        
                                        **V0.4.0**
                                        
                                        javascript.0
                                        2024-10-31 18:26:12.966	error	at processImmediate (node:internal/timers:483:21)
                                        
                                        javascript.0
                                        2024-10-31 18:26:12.966	error	at Immediate._onImmediate (file:///opt/iobroker/node_modules/@iobroker/db-states-redis/src/lib/states/statesInRedisClient.ts:381:37)
                                        
                                        javascript.0
                                        2024-10-31 18:26:12.966	error	at change (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.ts:10886:45)
                                        
                                        javascript.0
                                        2024-10-31 18:26:12.966	error	at Object.cb (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:3097:38)
                                        
                                        javascript.0
                                        2024-10-31 18:26:12.966	error	at Object.<anonymous> (script.js.ESP-E-INK.VIS-View-an-eTag-senden:44:24)
                                        
                                        javascript.0
                                        2024-10-31 18:26:12.965	error	at Function.from (node:buffer:320:9)
                                        
                                        javascript.0
                                        2024-10-31 18:26:12.965	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
                                        
                                        javascript.0
                                        2024-10-31 18:26:12.962	info	script.js.ESP-E-INK.VIS-View-an-eTag-senden: {"result":{"0":255,"1":216,"2":255,"3":224,"4":0,"5":16,"6":74,"7":70,"8":73,"9":70,"10":0,"11":1,"12":1,"13":0,"14":0,"15":1,"16":0,"17":1,"18":0,"19":0,"20":255,"21":226,"
                                        
                                        ....... gekürzt
                                        
                                        "20617":201,"20618":202,"20619":139,"20620":29,"20621":237,"20622":73,"20623":19,"20624":184,"20625":225,"20626":195,"20627":135,"20628":8,"20629":191,"20630":255,"20631":217}}
                                        
                                        
                                        
                                        foxriver76 1 Reply Last reply Reply Quote 0
                                        • foxriver76
                                          foxriver76 Developer @glitzi last edited by

                                          @glitzi dann änder mal die Zeile 38 von Buffer.from(obj.result, 'binary'), zu Buffer.from(Object.values(obj.result), 'binary'), aber ja da hat puppeteer wohl was intent verändert..

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

                                            @foxriver76
                                            Vielen Dank für die Anpassung.

                                            Funktioniert ohne Probleme. 👍 👍 👍 👍

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            892
                                            Online

                                            31.7k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

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