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

      @bimmi

      Sollte, glaube ich, in einer der letzten Versionen implementiert worden sein: Update Anzeige.
      Find ich es nicht oder wie muss das eingestellt werden?
      Möchte gerne , vornehmlich oben rechts , angezeigt bekommen wann der Tag zuletzt aktualisiert worden ist .

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

        @haselchen Es wird der timestamp im unix Format angezeigt. Musst du entsprechend umrechnen. Ich könnte das auch mit machen im Script

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

          @bimmi

          Da ich die Voreinstellungen nehme ( Wetter, Kalender…) , wie kriege ich das da mit rein ? 🤔

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

            @haselchen das ist unabhängig von iobroker und wird ja über den ap gestellt.

            Das Skript ist nur zum Daten holen vom AP.

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

              @bimmi

              Wir wäre dann die Vorgehensweise für mein Vorhaben?

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

                @haselchen gute Frage! Frag das doch mal im discord bei den Entwicklern.

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

                  Ich bin irgendwie mit dem Puppeteer Screenshot nicht zufrieden. Die Qualität passt einfach nicht. Ich hab Qualität auf 100% und trotzdem diese ausgefranste Schrift. Ist das bei Euch auch so?

                  Beispiel Foto VIS / Puppeteer:

                  9188f08e-8106-417c-b4f1-c672c47bd525-image.png

                  Beispiel Foto Photoshop JPG (andere Schriftart):

                  f9d78b48-a291-4e24-a288-853b5366c7a8-image.png

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

                    @bimmi jetzt wo du es schreibst:

                    43ace26c-838c-401c-afda-7b32dca75faa-image.png 59a44457-32ce-46f7-835a-564d8e3f0348-image.png

                    Die Images sind "Image URL", die "Originale", also die vom Puppeteer-Adapter gespeicherten Bilder, sehen so aus:

                    da6a1082-59ae-446f-93a2-f76436fdeb4a-image.png
                    571c42d7-caac-4f00-83ce-0bbf64c6327f-image.png
                    Wenn man reinzoomt sieht man die verwaschenen Ränder.

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

                      Nachtrag: Wenn ich vom Adapter ein png erzeugen lasse, sieht das 1:1 aus wie das jpg

                      Edit: Scheint ein allgemeines Problem in Puppeteer zu sein. Einige scheinen sich damit zu helfen deviceScaleFactor=2 zu nutzen und so das Bild doppelt so groß anzufordern und dann wieder runter zu skalieren.

                      Wäre ein Test wert, die View in VIS also in doppelter Auflösung, den Screenshot dann doppelt so groß und dann runterskalieren. Der Adapter kann das scheinbar nicht übernehmen (jedenfalls nicht mit SendTo)

                      Ich teste das mal

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

                        mhh, unscharf ist unscharf ... ich experimentiere mit downscaling und schärfen ... aber das Problem ist das Ausgangsmaterial.
                        Wenn die VIS doppelt so groß ist, ist auch der unscharfe Bereich doppelt so groß

                        Thomas Braun 1 Reply Last reply Reply Quote 1
                        • Thomas Braun
                          Thomas Braun Most Active @BananaJoe last edited by

                          @bananajoe

                          Jag das doch noch durch imagemagick durch.

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

                            So sieht die Datei vom AP aus:

                            canvas.png

                            Die wird auch so auf dem TAG angezeigt. Ich finde, das das ganz ok ist.

                            Hier noch einmal vergrössert.

                            canvas1.png

                            Schärfer geht doch da nicht, oder?

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

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

                              @bananajoe

                              Jag das doch noch durch imagemagick durch.

                              genau das habe ich ja gemacht. konnte aber kein besseres Ergebnis erzielen. Hab ein wenig mit Schärfen (was nur rudimentär implementiert ist) und Kontrast herumgespielt.

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

                                @beowolf nein.

                                Die Daten nativ per JSON zu senden wäre vermutlich "am schärfsten".
                                Der Weg per VIS macht es natürlich beim Design viel einfacher.

                                Eventuell spiele ich auch noch mal nativ mit puppeteer rum, da gibt es ja noch einige Parameter die man über den Adapter schlicht nicht setzen kann.

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

                                  Ja, als JSON sieht Perfekt aus. Aber wie man erkennen kann an meinen zwei Fotos -> Ein 100% JPG sieht auch perfekt aus! 🙂 und genau da will ich hin!

                                  über die VIS kann man einfach schöne Symbole und Grafiken erstellen

                                  Vielleicht spiel ich mich mal mit https://github.com/microsoft/playwright-python das kann auch screenshots 😄 und wird stetig weiterentwickelt

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

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

                                    Ja, als JSON sieht Perfekt aus. Aber wie man erkennen kann an meinen zwei Fotos -> Ein 100% JPG sieht auch perfekt aus! 🙂 und genau da will ich hin!

                                    über die VIS kann man einfach schöne Symbole und Grafiken erstellen

                                    Vielleicht spiel ich mich mal mit https://github.com/microsoft/playwright-python das kann auch screenshots 😄 und wird stetig weiterentwickelt

                                    Jupp, sieht ganz gut aus.
                                    Ich glaube ich baue mal eine Test-VM und spiele ein wenig rum

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

                                      @bimmi So, viele Stunden später:

                                      Ich habe mir eine Test-VM mit Ubuntu 22.04 aufgesetzt und dort dann Playwright for Python sowie den Apache2 als Webserver installiert (mit Ubuntu 24.04 funktioniert es noch nicht, 1h verloren).

                                      Dann habe ich lange rumgespielt um einen Screenshot zu machen.
                                      Ich habe es nicht hinbekommen wie bei Puppeteer anhand von "#w00065" oder "w00065" auf ein Widget zu warten, die Versuche mit id= tec. waren erfolglos.
                                      Was funktionierte war die Suche nach Text - im später nicht sichtbaren Bereich steht bei mir "256x128", das findet er und legt los. So sieht meine VIS-Ansicht aus:
                                      cd5fbf1d-8813-4e2d-9f0b-88b1621a6c88-image.png
                                      Die Zahlen oben befinden sich in einem 296x128 Pixel Bereich den mein 2,9" Display darstellen kann.

                                      Schritt 1 war es einen Screenshot zu erstellen der kein "Blur" hat, also keine verschwommenen Kanten an den Buchstaben.
                                      Das gelang mir zunächst nicht. Die Lösung war zum einen die Firefox Engine weil nur bei dieser das Rot auch rein Rot blieb. Und ein device_scale_factor=4, also die 4fache Größe, dann sehen die Kanten im Screenshot so aus (100% Originalgröße nach dem anklicken):
                                      4bc62323-dfe9-49c4-841d-d19b84da5d95-image.png
                                      Also schön scharfe Kanten, bei einem device_scale_factor=1, also Default, sind diese unscharf.

                                      Hier mein Python Skript was das erzeugte:

                                      from playwright.sync_api import sync_playwright, Page, expect
                                      playwright = sync_playwright().start()
                                      #browser = playwright.chromium.launch()
                                      #browser = playwright.webkit.launch()
                                      browser = playwright.firefox.launch()
                                      context = browser.new_context(
                                        viewport={"width":800, "height":600},
                                        device_scale_factor=4,
                                      )
                                      page = context.new_page()
                                      page.goto("http://192.168.1.8:8082/vis/index.html?openepaper#Kuehlschrank01")
                                      expect(page.get_by_text("296x128")).to_be_visible()
                                      page.screenshot(path="/var/www/html/openepaper/Kuehlschrank2.jpg",clip={"x":0,"y":0,"width":296,"height":128},quality=100,type="jpeg")
                                      browser.close()
                                      
                                      playwright.stop()
                                      
                                      

                                      So, nun habe ich ein schönes Bild, aber viel zu groß.
                                      Im Schritt 2 habe ich nun mit Imagemagick und den dazu gehörigen Befehl convert herumgespielt, mit dem Ziel das ganze um den Faktor 4 auf wieder 256x128 Pixel zu verkleinern.

                                      Es ist unglaublich wie viele Optionen convert für das skalieren von Bildern kennt!
                                      Die Option -sample war der Durchbruch, diese erzeugt kein Blur! Dazu den Kontrast um 99% erhöhen:

                                      convert Kuehlschrank2.jpg -sample 296x128 -quality 100 -brightness-contrast 0x99 Kuehlschrank2r.jpg
                                      

                                      So,
                                      vorher (mit Puppeteer):
                                      696eeaa1-965a-4dec-b51e-ceb542670e92-image.png
                                      Nachher (mit Playwright, Scalefactor 4 und wieder runterrechnen mit convert):
                                      d30e0c06-b00e-460b-8aab-9d1e8697f34d-image.png

                                      So, viel Aufwand, da muss ich erst einmal drüber schlafen und überlegen was man daraus macht.
                                      Playwright bekäme ich noch so mit auf meiner ioBroker VM installiert. Es gibt aber auch eine JavaScript/NodeJS Variante.
                                      Schwierig sind halt die Abhängigkeiten, unter Ubuntu mit Python mussten ein paar Pakete nachinstalliert werden, wie das bei JavaScript weis ich nicht.
                                      Und Imagemagick ist eh installiert.

                                      Wobei das Aufrufen der ganzen VIS + Puppeteer inzwischen auch schon spürbar Prozessorlast erzeugt.
                                      Schafft die Kiste noch problemlos, ich freue mich trotzdem wenn ich auf die neue Hardware umgebaut habe.

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

                                        @BananaJoe

                                        Oh man was für ein Aufwand! Aber interessant.

                                        Wenn du überlegst, Playwright auf deiner ioBroker VM zu installieren, könntest du vielleicht auch die JavaScript/NodeJS Variante in Betracht ziehen, um die Abhängigkeiten zu minimieren und die Prozessorlast zu reduzieren.

                                        Hattest du auch die 4 Fach Skalierung mit puppeteer versucht?

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

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

                                          Hattest du auch die 4 Fach Skalierung mit puppeteer versucht?

                                          Wie? Der Adapter kann meine ich das nicht weitergeben, das ist dann ja eine Option die an den Chrome durchgereicht werden muss.

                                          Das mit der Skalierung war ja auch die allgemeine Lösung aus anderen Foren / bei den GitGub Issues zu Puppeteer

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

                                            Nachtrag: Zudem haben bei mir die Chrome Varianten einen Fehler bei Rot verursacht, zumindest wenn skaliert wird. Das Rot bekam dann einen schwarzen Rand bzw. die äußeren Pixel wurden "dunkler", der Firefox hat das nicht gezeigt.

                                            Das müsste man aber noch mal zu ende durchtesten. Das mit dem Scale könnte man vermutlich im Adapter-Quellcode selbst eintragen.

                                            Ich habe mal einen Issue dazu eröffnet:
                                            https://github.com/foxriver76/ioBroker.puppeteer/issues/16

                                            BernhardLinz created this issue in foxriver76/ioBroker.puppeteer

                                            closed Option für "--force-device-scale-factor=" hinzufügen #16

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            425
                                            Online

                                            31.6k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

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