Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Praktische Anwendungen (Showcase)
  4. E-INK Display OpenEPaperLink - Displayanzeige mit Batterie

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.5k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.1k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    2.7k

E-INK Display OpenEPaperLink - Displayanzeige mit Batterie

Geplant Angeheftet Gesperrt Verschoben Praktische Anwendungen (Showcase)
1.0k Beiträge 49 Kommentatoren 346.4k Aufrufe 52 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • B Beowolf

    Muß hier noch etwas rein?

    pupp.jpg

    Ich verstehe das nicht.

    Mit diesem Skript

    sendTo('puppeteer.0', 'screenshot', { 
        url: urlOfVISView,                     
        path: imageSaveToFilenameWithPath,     
        width: viewWidth,                      
        height: viewHeight,                    
        quality: jpgQuality,                   
    
        waitOption: {
            waitForSelector: waitForSelector,  
            waitForTimeout: 25000              
        },
    
        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}0${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(Object.values(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();
        }
    });
    

    hat es bis jetzt funktioniert.

    Jetzt kommt immer das.

    puppeteer.0
    	2025-01-07 10:33:06.343	error	Could not take screenshot of "http://192.168.49.38:8082/vis/index.html?E-Paper-Allgemein#Kellerlüftung": Page.captureScreenshot timed out. Increase the 'protocolTimeout' setting in launch/connect calls for a higher timeout if needed.
    mqtt.0
    	2025-01-07 10:32:45.479	warn	script.js.common.EPaper-Displays.Allgemein.Kellerlüfter_1: Fehler beim Aufruf der View: http://192.168.49.38:8082/vis/index.html?E-Paper-Allgemein#Kellerlüftung => undefined
    

    Der "VIS-Link" funktioniert. Dort wird auch sofort die Änderung sichtbar.

    Was kann ich noch testen?

    D Offline
    D Offline
    Dan_Ce
    schrieb am zuletzt editiert von
    #1029

    @Beowolf Gab es hierzu eine Lösung? Ich stehe vor exakt demselben Problem und würde ungern einen anderen Weg als über die VIS gehen.

    1 Antwort Letzte Antwort
    0
    • B Offline
      B Offline
      Beowolf
      schrieb am zuletzt editiert von Beowolf
      #1030

      Ich verkaufe ein paar TAGs und Yellow APs mit Gehäuse.

      https://forum.iobroker.net/topic/82988/tags-für-openepaperlink

      Grüße
      Manfred

      Die Natur braucht nicht unseren Schutz, sie braucht unsere Abwesenheit.

      1 Antwort Letzte Antwort
      0
      • P Offline
        P Offline
        ple
        schrieb am zuletzt editiert von
        #1031

        Kurze Frage in die Runde.
        Mein AP war für 2 Tage offline, bin ja noch testen, aber wann checkt der solum wieder ein? Nach 30 min anscheinend noch nicht.
        Den ap hab ich mal aktualisiert auf den aktuellen Stand, aber muss man die solum epaper auch noch aktualisieren?

        Oder wo soll das Verhalten sein, wenn der ap mal offline ist.

        Intel Nuc + Proxmox

        1 Antwort Letzte Antwort
        0
        • B Offline
          B Offline
          Beowolf
          schrieb am zuletzt editiert von
          #1032

          Ich habe mal drei Tage gewartet. Kein TAG hat sich wieder "eingeloggt". Habe dann bei allen TAGs die Batterien kurz raus und wieder rein gemacht. Erst dann waren alle wieder da.

          Die Natur braucht nicht unseren Schutz, sie braucht unsere Abwesenheit.

          1 Antwort Letzte Antwort
          0
          • M Online
            M Online
            micklafisch
            schrieb am zuletzt editiert von
            #1033

            laut OEPL-Wiki:
            Second, if the tag doesn't get any reply of the access point (because it is out of reach, or the access point is turned off), the tag slowly gives up to save battery. After about 14 attempts without reply, the tag will only try to checkin again once an hour, for a day. The next day, once every two hours. And from the day after, it only checks in once per day. All to save energy. Remember, the tag is unreachable between the checkins, so if you turned off your access point for a while, it will take one hour, two hours, or even a day, before the tag and the AP find eachother again if you start the AP again. After that, eventually the tag will check in every 40 seconds again.

            B 1 Antwort Letzte Antwort
            0
            • M micklafisch

              laut OEPL-Wiki:
              Second, if the tag doesn't get any reply of the access point (because it is out of reach, or the access point is turned off), the tag slowly gives up to save battery. After about 14 attempts without reply, the tag will only try to checkin again once an hour, for a day. The next day, once every two hours. And from the day after, it only checks in once per day. All to save energy. Remember, the tag is unreachable between the checkins, so if you turned off your access point for a while, it will take one hour, two hours, or even a day, before the tag and the AP find eachother again if you start the AP again. After that, eventually the tag will check in every 40 seconds again.

              B Offline
              B Offline
              Beowolf
              schrieb am zuletzt editiert von Beowolf
              #1034

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

              laut OEPL-Wiki:
              Zweitens: Erhält der Tag keine Antwort vom Access Point (weil er außer Reichweite ist oder der Access Point ausgeschaltet ist), reduziert er den Akkuverbrauch schrittweise. Nach etwa 14 erfolglosen Versuchen meldet sich der Tag einen Tag lang nur noch stündlich an. Am nächsten Tag alle zwei Stunden. Und ab dem darauffolgenden Tag nur noch einmal täglich. All dies dient der Energieeinsparung. Beachten Sie: Zwischen den Anmeldeversuchen ist der Tag nicht erreichbar. Wenn Sie Ihren Access Point also für eine Weile ausgeschaltet haben, kann es ein bis zwei Stunden oder sogar einen Tag dauern, bis sich Tag und Access Point nach dem Neustart wiederfinden. Danach meldet sich der Tag schließlich wieder alle 40 Sekunden an.

              Wie gesagt. Das hat hier bei meinen TAGs noch nicht einmal funktioniert.

              Die Natur braucht nicht unseren Schutz, sie braucht unsere Abwesenheit.

              BananaJoeB 1 Antwort Letzte Antwort
              0
              • B Beowolf

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

                laut OEPL-Wiki:
                Zweitens: Erhält der Tag keine Antwort vom Access Point (weil er außer Reichweite ist oder der Access Point ausgeschaltet ist), reduziert er den Akkuverbrauch schrittweise. Nach etwa 14 erfolglosen Versuchen meldet sich der Tag einen Tag lang nur noch stündlich an. Am nächsten Tag alle zwei Stunden. Und ab dem darauffolgenden Tag nur noch einmal täglich. All dies dient der Energieeinsparung. Beachten Sie: Zwischen den Anmeldeversuchen ist der Tag nicht erreichbar. Wenn Sie Ihren Access Point also für eine Weile ausgeschaltet haben, kann es ein bis zwei Stunden oder sogar einen Tag dauern, bis sich Tag und Access Point nach dem Neustart wiederfinden. Danach meldet sich der Tag schließlich wieder alle 40 Sekunden an.

                Wie gesagt. Das hat hier bei meinen TAGs noch nicht einmal funktioniert.

                BananaJoeB Online
                BananaJoeB Online
                BananaJoe
                Most Active
                schrieb zuletzt editiert von
                #1035

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

                Wie gesagt. Das hat hier bei meinen TAGs noch nicht einmal funktioniert.

                ich kenn das so das man

                • Die Batterien rausnimmt
                • Die Batteriekontakte einmal kurzschließt damit es wirklich leer ist (Kondensatoren?)
                • Und dann die Batterien wieder einlegt

                Bin ich immer gut mitgefahren

                ioBroker@Ubuntu 24.04 LTS (VMware) für: >260 Geräte, 5 Switche, 7 AP, 9 IP-Cam, 1 NAS 42TB, 1 ESXi 15TB, 4 Proxmox 1TB, 1 Hyper-V 48TB, 14 x Echo, 5x FireTV, 5 x Tablett/Handy VIS || >=160 Tasmota/Shelly || >=95 ZigBee || PV 8.1kW / Akku 14kWh || 2x USV 750W kaskadiert || Creality CR-10 SE 3D-Drucker

                B 1 Antwort Letzte Antwort
                0
                • D Offline
                  D Offline
                  Dan_Ce
                  schrieb zuletzt editiert von
                  #1036

                  Ich habe jetzt erste Gehversuche mit der Ausgabe von Bildern aus der VIS hinter mir und bin nur so semi zufrieden mit der Bild-Qualität. Nun habe ich für meinen Abfallkalender die Ausgabe der Daten direkt aus dem Google Skript probiert. Die Qualität des Textes ist wesentlich besser als aus den Bildern der VIS. Allerdings bekomme ich nur die Einträge des heutigen Tages angezeigt, obwohl das Skript selbst mehrere Tage ausgibt. Hat jemand eine Idee, wie ich das ändern kann, oder kann ich so grundsätzlich nur einen Tag anzeigen lassen?

                  Mein Skript sieht übrigens so aus:

                  function getEventsForNextDay(days) {
                    var start = new Date();
                    start.setHours(0, 0, 0, 0);
                    var end = new Date();
                    if (days == undefined) days = 3;
                    end.setDate(end.getDate() + parseInt(days, 3));
                    //var calendars = CalendarApp.getAllCalendars();
                    var calendars = CalendarApp.getCalendarsByName("Abfallkalender");
                    var events = [];
                    for (var i = 0; i < calendars.length; i++) {
                      var calendar = calendars[i];
                      var eventsInCalendar = calendar.getEvents(start, end);
                      for (var j = 0; j < eventsInCalendar.length; j++) {
                        var event = eventsInCalendar[j];
                        events.push({
                          calendar: i,
                          title: event.getTitle(),
                          start: Math.floor(event.getStartTime().getTime() / 1000),
                          end: Math.floor(event.getEndTime().getTime() / 1000),
                          isallday: event.isAllDayEvent()
                        });
                      }
                    }
                    events.sort(function(a, b) {
                      return a.start - b.start;
                    });
                    return JSON.stringify(events);
                  }
                  
                  function doGet(e) {
                    if(!e) { 
                      e = {parameter: {days: 3}};
                    }
                    const params = e.parameter;
                    var content = getEventsForNextDay(params.days);
                    var output = ContentService.createTextOutput(content);
                    output.setMimeType(ContentService.MimeType.JSON);
                    return output;
                  }
                  
                  B 1 Antwort Letzte Antwort
                  0
                  • BananaJoeB BananaJoe

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

                    Wie gesagt. Das hat hier bei meinen TAGs noch nicht einmal funktioniert.

                    ich kenn das so das man

                    • Die Batterien rausnimmt
                    • Die Batteriekontakte einmal kurzschließt damit es wirklich leer ist (Kondensatoren?)
                    • Und dann die Batterien wieder einlegt

                    Bin ich immer gut mitgefahren

                    B Offline
                    B Offline
                    Beowolf
                    schrieb zuletzt editiert von
                    #1037

                    @BananaJoe

                    Jepp, das ist auch immer meine Lösung. Das die TAGs das alleine hinbekommen hat noch nie funktioniert.

                    Die Natur braucht nicht unseren Schutz, sie braucht unsere Abwesenheit.

                    1 Antwort Letzte Antwort
                    0
                    • D Dan_Ce

                      Ich habe jetzt erste Gehversuche mit der Ausgabe von Bildern aus der VIS hinter mir und bin nur so semi zufrieden mit der Bild-Qualität. Nun habe ich für meinen Abfallkalender die Ausgabe der Daten direkt aus dem Google Skript probiert. Die Qualität des Textes ist wesentlich besser als aus den Bildern der VIS. Allerdings bekomme ich nur die Einträge des heutigen Tages angezeigt, obwohl das Skript selbst mehrere Tage ausgibt. Hat jemand eine Idee, wie ich das ändern kann, oder kann ich so grundsätzlich nur einen Tag anzeigen lassen?

                      Mein Skript sieht übrigens so aus:

                      function getEventsForNextDay(days) {
                        var start = new Date();
                        start.setHours(0, 0, 0, 0);
                        var end = new Date();
                        if (days == undefined) days = 3;
                        end.setDate(end.getDate() + parseInt(days, 3));
                        //var calendars = CalendarApp.getAllCalendars();
                        var calendars = CalendarApp.getCalendarsByName("Abfallkalender");
                        var events = [];
                        for (var i = 0; i < calendars.length; i++) {
                          var calendar = calendars[i];
                          var eventsInCalendar = calendar.getEvents(start, end);
                          for (var j = 0; j < eventsInCalendar.length; j++) {
                            var event = eventsInCalendar[j];
                            events.push({
                              calendar: i,
                              title: event.getTitle(),
                              start: Math.floor(event.getStartTime().getTime() / 1000),
                              end: Math.floor(event.getEndTime().getTime() / 1000),
                              isallday: event.isAllDayEvent()
                            });
                          }
                        }
                        events.sort(function(a, b) {
                          return a.start - b.start;
                        });
                        return JSON.stringify(events);
                      }
                      
                      function doGet(e) {
                        if(!e) { 
                          e = {parameter: {days: 3}};
                        }
                        const params = e.parameter;
                        var content = getEventsForNextDay(params.days);
                        var output = ContentService.createTextOutput(content);
                        output.setMimeType(ContentService.MimeType.JSON);
                        return output;
                      }
                      
                      B Offline
                      B Offline
                      Beowolf
                      schrieb zuletzt editiert von Beowolf
                      #1038

                      @Dan_Ce
                      Wenn du den Link von Google direkt im Browser öffnest, komme dort alle Termin wie sie sein sollen?

                      Ich mache das alles über den ical-Adapter. Dort sind doch alle Termine dann vorhanden.

                      Die Natur braucht nicht unseren Schutz, sie braucht unsere Abwesenheit.

                      D 1 Antwort Letzte Antwort
                      0
                      • B Beowolf

                        @Dan_Ce
                        Wenn du den Link von Google direkt im Browser öffnest, komme dort alle Termin wie sie sein sollen?

                        Ich mache das alles über den ical-Adapter. Dort sind doch alle Termine dann vorhanden.

                        D Offline
                        D Offline
                        Dan_Ce
                        schrieb zuletzt editiert von
                        #1039

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

                        @Dan_Ce
                        Wenn du den Link von Google direkt im Browser öffnest, komme dort alle Termin wie sie sein sollen?

                        Ich mache das alles über den ical-Adapter. Dort sind doch alle Termine dann vorhanden.

                        Genau. Im Browser sehe ich mehr Termine.

                        Wie gehst du denn mit dem ical Adapter vor? Über die vis? Das hatte ich schon und wollte der Qualität wegen auf Reihen Text ohne Bild umstellen.

                        1 Antwort Letzte Antwort
                        0
                        • B Offline
                          B Offline
                          Beowolf
                          schrieb zuletzt editiert von
                          #1040

                          Ja, bei diesen Terminen über VIS. ical gibt ja dann im Datenpunkt "html" die Termin aus. Das dann weiter in der VIS und schon sind die Termine sichbar.

                          Die Natur braucht nicht unseren Schutz, sie braucht unsere Abwesenheit.

                          1 Antwort Letzte Antwort
                          0
                          Antworten
                          • In einem neuen Thema antworten
                          Anmelden zum Antworten
                          • Älteste zuerst
                          • Neuste zuerst
                          • Meiste Stimmen


                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          851

                          Online

                          32.4k

                          Benutzer

                          81.5k

                          Themen

                          1.3m

                          Beiträge
                          Community
                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                          ioBroker Community 2014-2025
                          logo
                          • Anmelden

                          • Du hast noch kein Konto? Registrieren

                          • Anmelden oder registrieren, um zu suchen
                          • Erster Beitrag
                            Letzter Beitrag
                          0
                          • Home
                          • Aktuell
                          • Tags
                          • Ungelesen 0
                          • Kategorien
                          • Unreplied
                          • Beliebt
                          • GitHub
                          • Docu
                          • Hilfe