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 last edited by BananaJoe

      Ja, es hat jetzt geklappt. Keine Ahnung warum das gestern nicht wollte.
      Spätestens nach 1h sollen die auch auf anderen Kanälen suchen, ich hatte vorher überall das Roaming eingeschaltet und nach 10 Minuten waren alle wieder da.

      Ich bin gerade an VIS-Views bauen für die Tags (in einem eigenen Projekt), weil das doch viel einfacher ist als per JSON alles von Hand zu malen.

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

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

        BananaJoe 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 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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            529
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

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