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.
    • BananaJoe
      BananaJoe Most Active @oxident last edited by

      @oxident sagte in EPS E-INK Display Ansteuerung -> Statusdisplay für 2€:

      @bananajoe Macht definitiv Sinn. Habe ja weiter oben schon ein Script-Beispiel auf Basis von Pupeteer gepostet. Das klappt mittlerweile sehr gut...

      Genau damit arbeite ich ja 🙂
      Ich habe mir zwar meine eigene Version gebaut (als Blockly JavaScript-Block) aber kräftig hier abgeschaut.
      Pures JavaScript wäre vielleicht sogar einfacher, aber für schnelle Nummern nehme ich einfach gerne Blockly und wollte deshalb da einen fertigen Baustein.

      Ich bin noch am durchtesten, wenn alles läuft wie gewünscht stelle ich das hier mal vor.

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

        Was mir noch nicht so gefällt ist das anti alising von puppeteer. Das verfälscht die Schrift leider so.

        IMG_20231011_192537.jpg

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

          @bimmi sagte in EPS E-INK Display Ansteuerung -> Statusdisplay für 2€:

          Was mir noch nicht so gefällt ist das anti alising von puppeteer. Das verfälscht die Schrift leider so.

          Dann sollte man vielleicht ein Issue beim Adapter aufmachen damit man eigene Argumente an puppeteer.launch weitergeben kann die wiederum bei Chrome genutzt werden.
          Vielversprechend klingt --disable-lcd-text oder vielleicht das hier https://peter.sh/experiments/chromium-command-line-switches/#disable-composited-antialiasing

          Andererseits steht beim Adapter auf Github
          d2cf6220-15a0-4bc6-a363-93860db48f20-image.png
          Das lässt vermuten das die API genutzt wird und kein eigener Aufruf von puppeteer.launch
          Die API kennt aber nicht so viele Parameter: https://pptr.dev/api/puppeteer.screenshotoptions

          Da habe ich einmal in den Quelltext geschaut, in der main.ts finde ich das hier:
          6be75681-7b2b-4905-95fd-79e7ef7ee14d-image.png

          Ich habe mal ein Issue eröffnet:
          https://github.com/foxriver76/ioBroker.puppeteer/issues/10

          BernhardLinz created this issue in foxriver76/ioBroker.puppeteer

          closed Übergabe von Parametern an puppeteer.launch ermöglichen #10

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

            @bananajoe gute Idee!

            Hier steht einiges über die Image specs. https://github.com/jjwbruijn/OpenEPaperLink/wiki/Image-specifications

            Unter anderem auch

            "When saving the image file, it is recommended to use the maximum or near maximum JPEG quality. This ensures that the image employs 4:4:4 quantization, which maintains sharp transitions between red and white without introducing artifacts. Lower quality JPEGs often use 4:2:0 quantization, which can result in undesirable artifacts and less crisp transitions between colors."

            Interessant wenn man mit der Komprimierung von Puppeteer spielen könnte. Ebenso das subsampling könnte ausschlaggebend sein.

            07a2be27-28c4-4cac-91bf-305b1c6a988a-image.png

            Man erkennt beim starken Vergrößern des Bildes auch die Artefakte:

            c689aea6-f9f0-4df4-8f99-ae809047966c-image.png

            BananaJoe 2 Replies Last reply Reply Quote 0
            • BananaJoe
              BananaJoe Most Active @bimmi last edited by BananaJoe

              @bimmi ich habe gerade mal Testweise ein .png statt .jpg erzeugen lassen. Und die Qualität ist exakt 1:1 die gleiche.
              Also scheint das schon vorher im Prozess stattzufinden.

              Edit: Korrigiere. Text sieht exakt gleich aus (mit leicht unscharfen Kanten), die Icons sehen als .png etwas besser aus.

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

                @bimmi Dein "Guten Morgen! ..." könnte man ja auch als JSON bauen und schicken, das wäre der wohl Messerscharf.
                Mit dem JSON kann man ja Texte setzen und Linien malen.

                B 1 Reply Last reply Reply Quote 0
                • R
                  Revobobo last edited by

                  @BananaJoe & @bimmi
                  Ich bin mir ziemlich sicher, dass es an der Firware des AP liegt. Diese schwarzen Schatten sind bei mir nach einem Update aufgetreten. Ich glaube die 1.7-beta hatte das noch nicht. Würde es gerne testen - weiß aber nicht wie ich zurück springen kann.

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

                    @bananajoe sagte in EPS E-INK Display Ansteuerung -> Statusdisplay für 2€:

                    @bimmi Dein "Guten Morgen! ..." könnte man ja auch als JSON bauen und schicken, das wäre der wohl Messerscharf.
                    Mit dem JSON kann man ja Texte setzen und Linien malen.

                    Ja das würde auf jeden Fall auch gehen inzwischen. Das mit dem "Guten Morgen" waren noch die Anfänge. Da war die json Übertragung noch nicht implementiert.

                    @revobobo sagte in EPS E-INK Display Ansteuerung -> Statusdisplay für 2€:

                    @BananaJoe & @bimmi
                    Ich bin mir ziemlich sicher, dass es an der Firware des AP liegt. Diese schwarzen Schatten sind bei mir nach einem Update aufgetreten. Ich glaube die 1.7-beta hatte das noch nicht. Würde es gerne testen - weiß aber nicht wie ich zurück springen kann.

                    Könnte gut möglich sein. Jedoch bin ich mir sicher, dass an der Darstellung in den letzten AP Updates nichts geändert wurde. Ich verfolge den Discord channel dauerhaft.

                    Man kann recht einfach auf eine andere Version springen.

                    dd6896c7-267e-4c94-8730-29f83fdcc306-image.png

                    O R 2 Replies Last reply Reply Quote 0
                    • O
                      oxident @bimmi last edited by

                      Bei mir gab es auch schon häufig Probleme mit der Bilddarstellung neuer AP-Versionen.

                      Beim Downgrade unbedingt darauf achten, dass Firmware und WebUI auf dem gleichen Stand sind.

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

                        Meine "Tür-und_Fenster" Anzeige sah gerade sehr komisch aus. Im Log den Mini-AP (v2) stand was von "Low Memory" ... der braucht wohl in der Version 2.01b regelmäßige reboots bzw. ich sollte auf die RAM-Auslastung achten.

                        Ich habe doch nur 6 Displays daran (4x 2,9 und 2x 4,2)

                        O 1 Reply Last reply Reply Quote 0
                        • O
                          oxident @BananaJoe last edited by oxident

                          @bananajoe Ist bei mir ebenso. Sobald PS-RAM <200kb passieren komische Sachen.

                          Muss fast täglich rebooten. Firmware 2.01b und vier Displays.

                          BananaJoe 1 Reply Last reply Reply Quote 0
                          • R
                            Revobobo @bimmi last edited by

                            @bimmi und mitleidende
                            Bezüglich der Schatten...
                            Ich habe bisher die FW 1.11 benutzt, weil ich mit der Speicherbelastung der >FW 2 nicht zufrieden bin ( >20 Displays). Jedoch gefallen mir die angesprochenen Schattenpixel nicht.

                            Nach ein paar Problemen habe ich es jetzt geschafft auf die FW1.8 zurück zu gehen. und siehe da...

                            1.11.png
                            1.8.png

                            Schatten sind weg - man hat aber andere kleine Grafikeinbußen - auch die Speicherbelastung ist OK.

                            So - never touch a running system 🤓

                            B 1 Reply Last reply Reply Quote 1
                            • BananaJoe
                              BananaJoe Most Active last edited by

                              @Revobobo

                              1. Wie hast du es geschafft zurück zu gehen?
                              2. Die Firmware der Tags/Displays muss aber nicht nicht zurück gedreht werden?

                              Ich war Faul und habe dem Anbieter das Geld für seine Arbeit gegönnt - und deshalb fertige geflashte Tags gekauft + einen fertig zusammengebauten Mini AP v2

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

                                @oxident sagte in EPS E-INK Display Ansteuerung -> Statusdisplay für 2€:

                                @bananajoe Ist bei mir ebenso. Sobald PS-RAM <200kb passieren komische Sachen.

                                Muss fast täglich rebooten. Firmware 2.01b und vier Displays.

                                Ich hab mir mal für Nachts einen Job gebaut der einen Reboot auslöst.

                                6dacf408-103f-4579-9e82-0e1405cd6710-image.png

                                <block xmlns="https://developers.google.com/blockly/xml" type="procedures_defcustomnoreturn" id="/g!bd05fx)sb7bYzeE5n" x="63" y="-162">
                                  <mutation statements="false">
                                    <arg name="IPofAP" varid="S,b)T_yZ`b$*VxD8r!{D"></arg>
                                  </mutation>
                                  <field name="NAME">Reboot</field>
                                  <field name="SCRIPT">dmFyIHJlcXVlc3QgPSByZXF1aXJlKCdyZXF1ZXN0Jyk7DQp2YXIgb3B0aW9ucyA9IHsNCiAgICB1cmw6ICJodHRwOi8vIiArIElQb2ZBUCArICIvcmVib290IiwNCiAgICBtZXRob2Q6ICdQT1NUJw0KfTsNCnJlcXVlc3Qob3B0aW9ucyxmdW5jdGlvbiAoZXJyb3IsIHJlc3BvbnNlLCBib2R5KXsNCiAgICBjb25zb2xlLmxvZygiUmVib290IFJlc3BvbnNlOiIgKyByZXNwb25zZSArICIgLS0tICIgKyByZXNwb25zZS5zdGF0dXNDb2RlKTsNCiAgICB9KTs=</field>
                                  <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                                </block>
                                

                                Das JavaScript:

                                var request = require('request');
                                var options = {
                                    url: "http://" + IPofAP + "/reboot",
                                    method: 'POST'
                                };
                                request(options,function (error, response, body){
                                    console.log("Reboot Response:" + response + " --- " + response.statusCode);
                                    });
                                
                                1 Reply Last reply Reply Quote 3
                                • R
                                  Revobobo @BananaJoe last edited by Revobobo

                                  @bananajoe
                                  1. Wie hast du es geschafft zurück zu gehen?
                                  Ich war einmal auf FW 2.. - bin dann aber zurück mit -Roll back to previous Firmware-. Da habe ich dann das alte Web Interface Layout und kann von dort alle FW's aufspielen. Welche Möglichkeiten Du mit dem Interface 2 hast - weiß ich nicht mehr genau.
                                  2. Die Firmware der Tags/Displays muss aber nicht nicht zurück gedreht werden?
                                  Nein - ist mir nicht bekannt. Ich konnte von FW1x auf FW2x updaten und wieder zurück

                                  Ich war Faul und habe dem Anbieter das Geld für seine Arbeit gegönnt - und deshalb fertige geflashte Tags gekauft + einen fertig zusammengebauten Mini AP v2
                                  Genau so habe ich es auch gemacht.

                                  1 Reply Last reply Reply Quote 0
                                  • B
                                    bimmi @Revobobo last edited by bimmi

                                    @revobobo sagte in EPS E-INK Display Ansteuerung -> Statusdisplay für 2€:

                                    @bimmi und mitleidende
                                    Bezüglich der Schatten...
                                    Ich habe bisher die FW 1.11 benutzt, weil ich mit der Speicherbelastung der >FW 2 nicht zufrieden bin ( >20 Displays). Jedoch gefallen mir die angesprochenen Schattenpixel nicht.

                                    Nach ein paar Problemen habe ich es jetzt geschafft auf die FW1.8 zurück zu gehen. und siehe da...

                                    1.11.png
                                    1.8.png

                                    Schatten sind weg - man hat aber andere kleine Grafikeinbußen - auch die Speicherbelastung ist OK.

                                    So - never touch a running system 🤓

                                    OK

                                    Ich möchte ungern zurück, da mir die GUI gut gefällt. Ich denke wenn man das bei github als issue öffnet oder sich unter discord meldet, dann wird das recht schnell gefixt. Ich schreibe mal bei discord!

                                    R 1 Reply Last reply Reply Quote 1
                                    • B
                                      bimmi last edited by bimmi

                                      Ich habe inzwischen ein paar von den neuen Displays ergattert: Die M3 Solum. Die sind so schön schwarz und haben zwei Knöpfe. Mit einem Javascript lese ich den Wert der Buttons vom Websocket Server im AP aus. Das geht auch sehr fix.

                                      Mit Hilfe der iobroker Telegram Gruppe ist dann das hier entstanden:

                                      const WebSocket = require('websocket').w3cwebsocket;
                                      
                                      let previousWakeupReason = null; // Vorheriger Wert von wakeupReason
                                      
                                      // Funktion zum Behandeln der WebSocket-Verbindung für EPS
                                      function handleEPSWebSocket(deviceIP) {
                                          const ws = new WebSocket(deviceIP);
                                      
                                          // ...
                                      
                                          ws.onmessage = (event) => {
                                              const data = event.data.toString();
                                              console.log(`Empfangene Daten von EPS (${deviceIP}): ${data}`);
                                      
                                              try {
                                                  const jsonData = JSON.parse(data);
                                                  console.log('JSON-Daten:', jsonData); // Ausgabe der empfangenen Daten für Überprüfung
                                      
                                                  if (jsonData.tags && jsonData.tags.length > 0) {
                                                      const wakeupReason = jsonData.tags[0].wakeupReason;
                                                      const mac = jsonData.tags[0].mac;
                                                      console.log(`Wakeup Reason erhalten: ${wakeupReason}`);
                                      
                                                      // Wenn sich der Wert von wakeupReason geändert hat oder previousWakeupReason noch nicht definiert ist
                                                      if ((wakeupReason !== previousWakeupReason || previousWakeupReason === null) && (wakeupReason === 4 || wakeupReason === 5)) {
                                                          setState('00-ZUHAUSE.0.EPS.Websocket', `${mac}_${wakeupReason}`, true);
                                                          console.log(`Wert von Wakeup Reason (${wakeupReason}) und MAC (${mac}) in Datenpunkt geschrieben.`);
                                                          previousWakeupReason = wakeupReason; // Aktualisiere den vorherigen Wert von wakeupReason
                                                      }
                                                  }
                                              } catch (error) {
                                                  console.error(`Fehler beim Verarbeiten der empfangenen Daten: ${error}`);
                                              }
                                          };
                                      
                                          // ...
                                      }
                                      
                                      // Verbindung zum EPS WebSocket-Server herstellen und behandeln
                                      handleEPSWebSocket('ws://192.168.1.70/ws');
                                      
                                      

                                      Bitte beachtet, das Script ist extrem rudimentär aufgebaut und hat noch nicht die besten Auswertmöglichkeiten. Aktuell zeigt es den Wert (entweder 4 oder 5) an und davor die MAC Adresse vom Tag.

                                      8e5eab39-1053-4f3c-90de-5b33df871464-image.png

                                      Vielleicht ein Anfang für einen Adapter?

                                      50c55d96-d96b-47e8-8773-b12fe704de99-image.png

                                      0f43c840-acd7-4f83-8849-d831e916f055-image.png

                                      Die Buttons reagieren sofort.

                                      draexler 1 Reply Last reply Reply Quote 2
                                      • T
                                        ticaki Developer last edited by

                                        Baut schon jemand einen Adapter hier für?

                                        @Dutchman @bimmi und ich wollte da mal sehen was wir machen können. Aber nur wenn das noch keiner in Angriff genommen hat.

                                        mcm1957 Dutchman 2 Replies Last reply Reply Quote 0
                                        • mcm1957
                                          mcm1957 @ticaki last edited by

                                          @ticaki

                                          Gut dass du hier explizit nachfragst.

                                          BITTE hier https://github.com/ioBroker/AdapterRequests/issues/847 einen entsprechenden Kommentar hinterlassen und den Status schalten (schalten lassen) wenn etwas ernsthaft begonnen bzw, ernsthaft geplant wird.

                                          Konflikte dass ev. 2 Adapter parallel entstehen und damit Frust vorprogrammioert ist, sollten wir vermeiden.

                                          slimline33 created this issue in ioBroker/AdapterRequests

                                          open Integration von E-INK Preisschild Displays über openepaperlink #847

                                          Dutchman 1 Reply Last reply Reply Quote 0
                                          • Dutchman
                                            Dutchman Developer Most Active Administrators @ticaki last edited by

                                            Allgemeine Frage an alle; gibt ws bereits initiatieven oder interesse aktiver und eine Integration/Adapter zu entwickeln?

                                            Sonst würden @ticaki und ich sich dem mal zusammen anschauen:)

                                            Sollte es noch keine Bewegungen gebe aber auch bei anderen Interesse mit zu machen gerne bei uns melden !

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            835
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            41
                                            987
                                            220151
                                            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