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

  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.3k

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

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

E-INK Display OpenEPaperLink - Displayanzeige mit Batterie

Geplant Angeheftet Gesperrt Verschoben Praktische Anwendungen (Showcase)
1.0k Beiträge 48 Kommentatoren 345.0k 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.
  • BananaJoeB BananaJoe

    @bimmi bei mir nicht, ich habe aber ja auch einen anderen AP als du.
    Im Quelltext kann ich den Button sehen, hat aber das CSS Style "display=none".
    Nach dem Aufruf der Seite dauert es ja ein Sekündchen bis die Optionen erscheinen - und bei entscheidet er wohl das dieser Punkt nicht anzuzeigen ist.

    Wo könnte man denn sehen auf welcher Version "C6" ist?
    c053c402-c3a1-4350-b052-2717d5fe6ef5-image.png

    Edit: In meinem Mini-AP ist ja außer dem ESP32 nicht viel anderes drin:
    https://github.com/OpenEPaperLink/OpenEPaperLink/blob/master/Hardware/OpenEPaperLink Mini AP/Building.md

    B Offline
    B Offline
    bimmi
    schrieb am zuletzt editiert von bimmi
    #611

    @bananajoe nur über den serial log direkt in den ersten Nachrichten nach dem reboot sieht man die c6 Version.

    Kann aber gut sein, dass der bei dir automatisch das Update bekommt. Davon habe ich jedoch nichts mitbekommen, da das development vom c6 unabhängig von der oepl Firmware stattfindet.

    Die ap unterscheiden sich auch nicht so trivial. Meiner ist eigentlich ein apv2 und da gibt es nur die yellow Firmware.

    Edit: du hast keinen c6 ap! Der Mini ist ein segmented Display mit einem esp32. Bei dir übernimmt der Display den zigbee Teil. Bei den neuen ap ist ein esp32 und ein esp32-c6 verbaut. Der c6 ist der zigbee Sender / Empfänger.

    Dann passt das mit dem Speicher bei dir. Der esp32 mit segmented kann max 20 displays ansteuern.

    Gruß Bimmi

    iobroker in einer Proxmox Umgebung auf einem ausrangierten DELL OptiPlex 3080 24GB i5 in der VM auf SSD. Nutze den slaeh zigbee Router mit Tür- und Temperatursensoren von Aqara, viele Tasmota Devices, Unifi AP, Sprinklecontrol, günstige E-INK Displays, Adguard und noch vieles mehr 😬

    BananaJoeB 1 Antwort Letzte Antwort
    0
    • B Beowolf

      So, habe jetzt komplett neu geflasht. Ein TAG neu angelernt. Aktuelles Datum ausgewählt. Anzeige wieder rosa.

      Bin wieder auf 2.52. Die läuft.

      B Offline
      B Offline
      bimmi
      schrieb am zuletzt editiert von
      #612

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

      So, habe jetzt komplett neu geflasht. Ein TAG neu angelernt. Aktuelles Datum ausgewählt. Anzeige wieder rosa.

      Bin wieder auf 2.52. Die läuft.

      Hast du die Tag Definitionen geupdatet? Das könnte eine Ursache sein.

      Gruß Bimmi

      iobroker in einer Proxmox Umgebung auf einem ausrangierten DELL OptiPlex 3080 24GB i5 in der VM auf SSD. Nutze den slaeh zigbee Router mit Tür- und Temperatursensoren von Aqara, viele Tasmota Devices, Unifi AP, Sprinklecontrol, günstige E-INK Displays, Adguard und noch vieles mehr 😬

      1 Antwort Letzte Antwort
      0
      • B Beowolf

        So, habe jetzt komplett neu geflasht. Ein TAG neu angelernt. Aktuelles Datum ausgewählt. Anzeige wieder rosa.

        Bin wieder auf 2.52. Die läuft.

        B Offline
        B Offline
        bimmi
        schrieb am zuletzt editiert von bimmi
        #613

        doppelt

        Gruß Bimmi

        iobroker in einer Proxmox Umgebung auf einem ausrangierten DELL OptiPlex 3080 24GB i5 in der VM auf SSD. Nutze den slaeh zigbee Router mit Tür- und Temperatursensoren von Aqara, viele Tasmota Devices, Unifi AP, Sprinklecontrol, günstige E-INK Displays, Adguard und noch vieles mehr 😬

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

          Ne, ich bleib erst mal bei 2.52. Es hagelt Fehlermeldungen mit der 2.6b das die entsprechenden Anzeigen von der VIZ durch Puppeteer nicht an die TAGs gesendet werden können.

          Mit 2.52 ist alles wieder ruhig.

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

          B 1 Antwort Letzte Antwort
          0
          • B Beowolf

            Ne, ich bleib erst mal bei 2.52. Es hagelt Fehlermeldungen mit der 2.6b das die entsprechenden Anzeigen von der VIZ durch Puppeteer nicht an die TAGs gesendet werden können.

            Mit 2.52 ist alles wieder ruhig.

            B Offline
            B Offline
            bimmi
            schrieb am zuletzt editiert von
            #615

            @beowolf

            • Known issue when updating to firmware version 2.60: if after updating, the white background of the tags is generated with a slight pink dithering, your tagtype files need updating. Click 'update tagtype definitions' in the update tab, and reboot the AP after.*

            Gruß Bimmi

            iobroker in einer Proxmox Umgebung auf einem ausrangierten DELL OptiPlex 3080 24GB i5 in der VM auf SSD. Nutze den slaeh zigbee Router mit Tür- und Temperatursensoren von Aqara, viele Tasmota Devices, Unifi AP, Sprinklecontrol, günstige E-INK Displays, Adguard und noch vieles mehr 😬

            1 Antwort Letzte Antwort
            0
            • B bimmi

              @bananajoe nur über den serial log direkt in den ersten Nachrichten nach dem reboot sieht man die c6 Version.

              Kann aber gut sein, dass der bei dir automatisch das Update bekommt. Davon habe ich jedoch nichts mitbekommen, da das development vom c6 unabhängig von der oepl Firmware stattfindet.

              Die ap unterscheiden sich auch nicht so trivial. Meiner ist eigentlich ein apv2 und da gibt es nur die yellow Firmware.

              Edit: du hast keinen c6 ap! Der Mini ist ein segmented Display mit einem esp32. Bei dir übernimmt der Display den zigbee Teil. Bei den neuen ap ist ein esp32 und ein esp32-c6 verbaut. Der c6 ist der zigbee Sender / Empfänger.

              Dann passt das mit dem Speicher bei dir. Der esp32 mit segmented kann max 20 displays ansteuern.

              BananaJoeB Online
              BananaJoeB Online
              BananaJoe
              Most Active
              schrieb am zuletzt editiert von
              #616

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

              Dann passt das mit dem Speicher bei dir. Der esp32 mit segmented kann max 20 displays ansteuern.

              Ups ...

              Ok, bin erst bei 11, habe hier aber noch eine Kiste voll Tags liegen ...

              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

              1 Antwort Letzte Antwort
              0
              • O Offline
                O Offline
                oxident
                schrieb am zuletzt editiert von
                #617

                Sagt mal, habt ihr eigentlich noch Stress mit volllaufendem PSRAM und dadurch fehlerhaften Bildern auf den Tags?

                Ich habe das etwa alle 2-3 Tage und muss dann rebooten. Trotz FW 2.60b

                ? BananaJoeB 2 Antworten Letzte Antwort
                0
                • O oxident

                  Sagt mal, habt ihr eigentlich noch Stress mit volllaufendem PSRAM und dadurch fehlerhaften Bildern auf den Tags?

                  Ich habe das etwa alle 2-3 Tage und muss dann rebooten. Trotz FW 2.60b

                  ? Offline
                  ? Offline
                  Ein ehemaliger Benutzer
                  schrieb am zuletzt editiert von
                  #618

                  @oxident

                  ich hab 20 Tags an einem AP zur Zeit, nutze aber keine Bilder mehr, hab mir das mit json die vom iobroker gepushed werden, zusammen gebaut.

                  Allerdings ist mein AP mit den 20 Tags etwas ueberfordert, ist ein Mini AP V4, hab noch 2 andere, da muss ich aber noch die Tests mit den Tags fertig stellen und dann die location aendern, sonst kommen die sich ins Gehege..

                  Ich muss den AP alle 2h rebooten lassen, sonst schafft er das nicht..

                  1 Antwort Letzte Antwort
                  1
                  • O oxident

                    Sagt mal, habt ihr eigentlich noch Stress mit volllaufendem PSRAM und dadurch fehlerhaften Bildern auf den Tags?

                    Ich habe das etwa alle 2-3 Tage und muss dann rebooten. Trotz FW 2.60b

                    BananaJoeB Online
                    BananaJoeB Online
                    BananaJoe
                    Most Active
                    schrieb am zuletzt editiert von
                    #619

                    @oxident ich habe 2 Mini AP V3 und lasse die ebenfalls im Wechsel alle 2h rebooten (alle geraden Stunden der eine, alle ungeraden Stunden den anderen), mit der Lösung sind alle Probleme weg.

                    Ob die Probleme haben wegen dem PSRAM kann ich gar nicht sagen, mein Monitoring meldet sonst mal gerne das diese nicht mehr erreichbar sind (Ping) und dann hilft nur noch Ein- und Ausschalten. Das mit dem Speicherverbrauch haben eher zufällig gesehen

                    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

                    1 Antwort Letzte Antwort
                    1
                    • O Offline
                      O Offline
                      oxident
                      schrieb am zuletzt editiert von
                      #620

                      Verstehe... dann bin ich ja sogar noch ganz gut dran. Danke für die Infos!

                      BananaJoeB 1 Antwort Letzte Antwort
                      0
                      • O oxident

                        Verstehe... dann bin ich ja sogar noch ganz gut dran. Danke für die Infos!

                        BananaJoeB Online
                        BananaJoeB Online
                        BananaJoe
                        Most Active
                        schrieb am zuletzt editiert von
                        #621

                        @oxident das mit dem alle 2h rebooten klingt zwar dramatisch ... aber davon bekommt man ja nichts mit :-)

                        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

                        O B 2 Antworten Letzte Antwort
                        1
                        • BananaJoeB BananaJoe

                          @oxident das mit dem alle 2h rebooten klingt zwar dramatisch ... aber davon bekommt man ja nichts mit :-)

                          O Offline
                          O Offline
                          oxident
                          schrieb am zuletzt editiert von
                          #622

                          @bananajoe Wohl wahr. Guter Workaround auf jeden Fall!

                          1 Antwort Letzte Antwort
                          0
                          • BananaJoeB BananaJoe

                            @oxident das mit dem alle 2h rebooten klingt zwar dramatisch ... aber davon bekommt man ja nichts mit :-)

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

                            @bananajoe
                            Funktioniert der Befehl "reboot" mit 2.6b nicht mehr? Ich kann das ruhig im Browser eingeben, der AP rebootet aber nicht.

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

                            ? O 2 Antworten Letzte Antwort
                            0
                            • B Beowolf

                              @bananajoe
                              Funktioniert der Befehl "reboot" mit 2.6b nicht mehr? Ich kann das ruhig im Browser eingeben, der AP rebootet aber nicht.

                              ? Offline
                              ? Offline
                              Ein ehemaliger Benutzer
                              schrieb am zuletzt editiert von
                              #624

                              @beowolf

                              geht hier einwandfrei.. gerade im browser probiert... und mit httpget auch ohne probleme mit dem script...

                              1 Antwort Letzte Antwort
                              0
                              • B Beowolf

                                @bananajoe
                                Funktioniert der Befehl "reboot" mit 2.6b nicht mehr? Ich kann das ruhig im Browser eingeben, der AP rebootet aber nicht.

                                O Offline
                                O Offline
                                oxident
                                schrieb am zuletzt editiert von oxident
                                #625

                                @beowolf Ich hatte da gerade auch etwas Stress und bekam 404-Fehler zurück. Komischerweise scheint es aber mit dem "POST"-Befehl zu klappen. Nutze jetzt folgende Funktion:

                                function rebootAP(IPofAP) {
                                
                                    var sUrl = "http://" + IPofAP + "/reboot";
                                
                                    httpPost(sUrl, { }, { timeout: 10000}, (error, response) => {
                                        if (!error) {
                                            
                                            //console.log(response);
                                            
                                        } else {
                                            log("ePaper-Fehler: " + error, "error");
                                        }
                                    });
                                
                                }
                                

                                Als Übergabe halt die IP-Adresse des APs als Argument (also z. B. "192.168.178.11")
                                Komischerweise klappt es auch immer erst beim zweiten Anlauf. Vorher gibt's einen Timeout.
                                Spendiere der Funktion jetzt 10s Zeit. Dann klappt's immer.

                                Aber es funktioniert so bei mir ;-)

                                ? 1 Antwort Letzte Antwort
                                0
                                • O oxident

                                  @beowolf Ich hatte da gerade auch etwas Stress und bekam 404-Fehler zurück. Komischerweise scheint es aber mit dem "POST"-Befehl zu klappen. Nutze jetzt folgende Funktion:

                                  function rebootAP(IPofAP) {
                                  
                                      var sUrl = "http://" + IPofAP + "/reboot";
                                  
                                      httpPost(sUrl, { }, { timeout: 10000}, (error, response) => {
                                          if (!error) {
                                              
                                              //console.log(response);
                                              
                                          } else {
                                              log("ePaper-Fehler: " + error, "error");
                                          }
                                      });
                                  
                                  }
                                  

                                  Als Übergabe halt die IP-Adresse des APs als Argument (also z. B. "192.168.178.11")
                                  Komischerweise klappt es auch immer erst beim zweiten Anlauf. Vorher gibt's einen Timeout.
                                  Spendiere der Funktion jetzt 10s Zeit. Dann klappt's immer.

                                  Aber es funktioniert so bei mir ;-)

                                  ? Offline
                                  ? Offline
                                  Ein ehemaliger Benutzer
                                  schrieb am zuletzt editiert von
                                  #626

                                  @oxident

                                  bei mir so:
                                  3aff3864-afa9-44a5-abd5-30024ae4c0f2-image.png

                                  vielleicht macht die Auslastung oder der Empfang was aus... ich bekomme kein timeout bei 2000ms..
                                  hab aber auch die wifi power hoch:

                                  67fa4964-0223-4452-8cfe-a14677ef1207-image.png

                                  O BananaJoeB 2 Antworten Letzte Antwort
                                  1
                                  • ? Ein ehemaliger Benutzer

                                    @oxident

                                    bei mir so:
                                    3aff3864-afa9-44a5-abd5-30024ae4c0f2-image.png

                                    vielleicht macht die Auslastung oder der Empfang was aus... ich bekomme kein timeout bei 2000ms..
                                    hab aber auch die wifi power hoch:

                                    67fa4964-0223-4452-8cfe-a14677ef1207-image.png

                                    O Offline
                                    O Offline
                                    oxident
                                    schrieb am zuletzt editiert von
                                    #627

                                    @ilovegym Ja, ist eigentlich genau das, was das Javascript auch macht. Wer weiß, vielleicht ist mein JS-Adapter auch einfach nur überlastet ;-)

                                    1 Antwort Letzte Antwort
                                    0
                                    • ? Ein ehemaliger Benutzer

                                      @oxident

                                      bei mir so:
                                      3aff3864-afa9-44a5-abd5-30024ae4c0f2-image.png

                                      vielleicht macht die Auslastung oder der Empfang was aus... ich bekomme kein timeout bei 2000ms..
                                      hab aber auch die wifi power hoch:

                                      67fa4964-0223-4452-8cfe-a14677ef1207-image.png

                                      BananaJoeB Online
                                      BananaJoeB Online
                                      BananaJoe
                                      Most Active
                                      schrieb am zuletzt editiert von
                                      #628

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

                                      hab aber auch die wifi power hoch:

                                      Ob da gut oder schlecht ist kommt ja auf den AP an. Mein MiniAP tilt dann aus

                                      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

                                      O 1 Antwort Letzte Antwort
                                      0
                                      • BananaJoeB BananaJoe

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

                                        hab aber auch die wifi power hoch:

                                        Ob da gut oder schlecht ist kommt ja auf den AP an. Mein MiniAP tilt dann aus

                                        O Offline
                                        O Offline
                                        oxident
                                        schrieb am zuletzt editiert von
                                        #629

                                        @bananajoe Ja, meiner auch. Bin aber auch recht nah am Wifi-AP und konnte daher weit runter gehen. Mal sehen, ob es mit den Reboots jetzt "stabil" läuft...

                                        1 Antwort Letzte Antwort
                                        0
                                        • B Beowolf

                                          @bananajoe

                                          So, ich habe jetzt das Skript mal ein wenig umgebaut.

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

                                          Na ja, ich bin jetzt mal ehrlich. Ich habe ChatGPT solange damit gernervt bis ich eine Version hatte die jetzt funktioniert.

                                          Ich habe keine Ahnung was da wie gemacht wird, aber es läuft. Die TAG werden sehr schnell aktualisiert und alles ohne Fehlermeldungen. :blush:

                                          Grüße
                                          Manfred

                                          G Offline
                                          G Offline
                                          glitzi
                                          schrieb am zuletzt editiert von
                                          #630

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

                                          @bananajoe

                                          So, ich habe jetzt das Skript mal ein wenig umgebaut.

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

                                          Na ja, ich bin jetzt mal ehrlich. Ich habe ChatGPT solange damit gernervt bis ich eine Version hatte die jetzt funktioniert.

                                          Ich habe keine Ahnung was da wie gemacht wird, aber es läuft. Die TAG werden sehr schnell aktualisiert und alles ohne Fehlermeldungen. :blush:

                                          Grüße
                                          Manfred

                                          Haben wir hier jemanden der noch die Funktion groß/klein Skalieren für die bessere Bildqualität einbauen kann?

                                          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

                                          693

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          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