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.
    • R
      Radi @bimmi last edited by

      @bimmi Ich nehme mal an, du meinst diese Einstellung des AP?
      0da8ec44-0944-4e2e-a2a7-f1d9a509cba3-grafik.png
      Ja, steht auf 40 Sekunden. Sollte man da was ändern?

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

        @radi welchen AP hast Du? Die ESP32 Mini haben wohl einen Layoutfehler. Da kann die Zigbee Antenne vom Display wohl einen Reset auslösen beim ESP.

        Es wird empfohlen die Wifi Power auf das mindeste zu setzen je nachdem wie weit dein AP vom Router weg ist. Ich hab ihn ca. 2m vom Router an der Wand kleben und komme mit 2dbm gut zurecht!

        Ansonsten, schau doch mal in das Verzeichnis ob Du da deine Screenshots findest? Es sieht so aus in dem Script, dass er nur eine Grafik erstellt und diese dann überschreibt mit dem nächsten Screenshot? Könnte das sein?

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

          mein Blockly sieht so aus:

          a414d2f3-1317-4336-b097-655811780364-image.png

          <xml xmlns="https://developers.google.com/blockly/xml">
            <variables>
              <variable id="=|-HU{v0HPlybOQ*ghcR">mypath</variable>
              <variable id="(O?~p(`|c|(KIhiht#i*">myurl</variable>
              <variable id="Kg9b=20h)E,riQJeDEcb">myheight</variable>
              <variable id="d?/+]%mL0t@pakXBBv]V">mywidth</variable>
              <variable id="ELianL7RIoI]6v](.5H{">clipx</variable>
              <variable id="v7~-E}:`3zaZ=MG;7P=[">clipy</variable>
              <variable id="WKu^.B?9T66xQ_qJgB@2">clipwidth</variable>
              <variable id="$JY/m%d:K3q{;2o7?$9r">clipheight</variable>
              <variable id="*^L*3Kju!MAP#u`QL(gE">myselector</variable>
              <variable id="8,q0AR=qke3-k-JCj-2U">quality</variable>
            </variables>
            <block type="procedures_defcustomnoreturn" id="{{Bl:d;+8eDTq,0~J9H2" x="938" y="113">
              <mutation statements="false">
                <arg name="mypath" varid="=|-HU{v0HPlybOQ*ghcR"></arg>
                <arg name="myurl" varid="(O?~p(`|c|(KIhiht#i*"></arg>
                <arg name="myheight" varid="Kg9b=20h)E,riQJeDEcb"></arg>
                <arg name="mywidth" varid="d?/+]%mL0t@pakXBBv]V"></arg>
                <arg name="clipx" varid="ELianL7RIoI]6v](.5H{"></arg>
                <arg name="clipy" varid="v7~-E}:`3zaZ=MG;7P=["></arg>
                <arg name="clipwidth" varid="WKu^.B?9T66xQ_qJgB@2"></arg>
                <arg name="clipheight" varid="$JY/m%d:K3q{;2o7?$9r"></arg>
                <arg name="myselector" varid="*^L*3Kju!MAP#u`QL(gE"></arg>
                <arg name="quality" varid="8,q0AR=qke3-k-JCj-2U"></arg>
              </mutation>
              <field name="NAME">macheScreenshot</field>
              <field name="SCRIPT">c2VuZFRvKCdwdXBwZXRlZXIuMCcsICdzY3JlZW5zaG90JywgeyANCg0KICAgIHVybDogbXl1cmwgLA0KDQogICAgcGF0aDogbXlwYXRoICwgDQoNCiAgICB3aWR0aDpteXdpZHRoLA0KDQogICAgcXVhbGl0eTpxdWFsaXR5LA0KDQogICAgaGVpZ2h0Om15aGVpZ2h0LA0KDQogICAgd2FpdE9wdGlvbjogew0KICAgIA0KICAgIC8vIHdhaXRmb3JUaW1lb3V0OiA1MDAwLA0KICAgIHdhaXRGb3JTZWxlY3RvcjpteXNlbGVjdG9yLA0KDQogICAgfSwNCg0KICAgIGZ1bGxQYWdlOiBmYWxzZSwNCg0KICAgIGNsaXA6IHsgICAgICAgICANCiAgICAgICAgeDogY2xpcHgsDQogICAgICAgIHk6IGNsaXB5LA0KICAgICAgICB3aWR0aDogY2xpcHdpZHRoLA0KICAgICAgICBoZWlnaHQ6IGNsaXBoZWlnaHQNCiAgICAgIH0NCn0pOw==</field>
              <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
            </block>
            <block type="procedures_callcustomnoreturn" id="a8y(c@2xKnJ~R;]2^j%W" x="938" y="163">
              <mutation name="macheScreenshot">
                <arg name="mypath"></arg>
                <arg name="myurl"></arg>
                <arg name="myheight"></arg>
                <arg name="mywidth"></arg>
                <arg name="clipx"></arg>
                <arg name="clipy"></arg>
                <arg name="clipwidth"></arg>
                <arg name="clipheight"></arg>
                <arg name="myselector"></arg>
                <arg name="quality"></arg>
              </mutation>
              <value name="ARG0">
                <block type="get_value" id="@$eoRt:vgP2{$;eeUch0">
                  <field name="ATTR">val</field>
                  <field name="OID">00-ZUHAUSE.0.EPS.Test.Display-Bildpfad</field>
                </block>
              </value>
              <value name="ARG1">
                <block type="get_value" id="xlb5GgfuCSWL[Aergw[6">
                  <field name="ATTR">val</field>
                  <field name="OID">00-ZUHAUSE.0.EPS.Test.Display-Ziel-URL</field>
                </block>
              </value>
              <value name="ARG2">
                <block type="math_number" id=";.b]=J)0}vs6=o(9/2N1">
                  <field name="NUM">0</field>
                </block>
              </value>
              <value name="ARG3">
                <block type="math_number" id="ru$[j_Lxmk;?ir^-I?1u">
                  <field name="NUM">0</field>
                </block>
              </value>
              <value name="ARG4">
                <block type="math_number" id="%D9jOfghJtgT{T{T7_sd">
                  <field name="NUM">0</field>
                </block>
              </value>
              <value name="ARG5">
                <block type="math_number" id="AZ5@9Rh4%Q*{L9y9]_nY">
                  <field name="NUM">0</field>
                </block>
              </value>
              <value name="ARG6">
                <block type="get_value" id="s$Lxum-=aMz`$(5TWW3%">
                  <field name="ATTR">val</field>
                  <field name="OID">00-ZUHAUSE.0.EPS.Test.Display-Breite</field>
                </block>
              </value>
              <value name="ARG7">
                <block type="get_value" id="P%oRRt;f$Ke}@s`ANY}B">
                  <field name="ATTR">val</field>
                  <field name="OID">00-ZUHAUSE.0.EPS.Test.Display-Höhe</field>
                </block>
              </value>
              <value name="ARG8">
                <block type="text" id="{3cIh]jtoaLdIe)!9Vp+">
                  <field name="TEXT">#w00098</field>
                </block>
              </value>
              <value name="ARG9">
                <block type="math_number" id="|nkrAt*)GrI|sQV(?^Bz">
                  <field name="NUM">100</field>
                </block>
              </value>
            </block>
          </xml>
          
          1 Reply Last reply Reply Quote 0
          • B
            bimmi @berndsolar13 last edited by

            @berndsolar13

            ich nutze ein DFT System mit 110mm Rohren. Da sind meine Wurzeln immer im Wasser. Jedoch zusätzlich ca 4cm Luft für die Wurzeln. Meine Pumpe läuft durchgehend!

            3b590719-ee13-4250-9c44-5e5c33dd69c5-image.png

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

              @bimmi So, ich habe mal ein wenig mit WinSCP gegrast und die Screenshots gefunden. Sie liegen unter /opt/iobroker/iobroker-data/files/0_userdata.0.
              Die Bilder sehen gut aus.

              EPAPER_Tanken.jpg EPAPER_Solar.jpg EPAPER_Muell.jpg
              Ich verstehe nicht, warum der AP meint, der Shot würde sich nicht vom Letzten unterscheiden und er müsste mal den einen oder anderen TAG nicht aktualisieren.

              Der Unifi-AP fürs Wlan ist ca. 5m und eine Wand entfernt.

              Das Log des Openepaper-AP sieht so aus:

              20:21:02 < 0000021F2xxxxxx reports xfer complete
              20:21:02 < Block Request received for file /current/0000021F2xxxxxxx.pending block 2, len 1280 checksum 0
              20:21:01 < Block Request received for file /current/0000021F2xxxxxxx.pending block 1, len 4096 checksum 30192
              20:21:00 < Block Request received for file /current/0000021F2xxxxxxx.pending block 1, len 4096 checksum 30192
              20:20:59 < Block Request received for file /current/0000021F2xxxxxxx.pending block 0, len 4096 checksum 35667
              20:20:13 new image: /current/0000021F2xxxxxx.pending
              20:20:12 Updating 0000021F2xxxxxx
              20:20:12 new image is the same as current or already pending image. not updating tag.
              20:20:12 Updating 0000021D30Fxxxxxx
              20:20:12 Resending image //current/0000021C69Dxxxxxx.raw
              20:20:12 new image is the same as current or already pending image. not updating tag.
              20:20:12 Updating 0000021C69Dxxxxxx
              20:20:12 Resending image //current/0000021ED4Cxxxxx.raw
              20:20:12 new image is the same as current or already pending image. not updating tag.
              20:20:11 Updating 0000021ED4Cxxxxx
              20:11:01 < 0000021F2xxxxxx reports xfer complete 
              

              Er meint also wieder einmal, es hätte sich bei einigen Tags nichts geändert.

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

                @radi wie gut ist denn dein Englisch? Ich würde dir den discord channel von den Entwicklern empfehlen. Die sind eigentlich sehr hilfsbereit.

                https://discord.com/invite/3PX8Mtgh

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

                  @bimmi Na ja, ostdeutsches Schulenglisch mit leichtem Rostbelag. Bis jetzt hab ich mich aber immer verständlich machen können. Ist halt schon fast 50 Jahre her. Werde ich mir morgen mal antun, auch wenn ich mit Discord keinerlei Erfahrung hab. Wird schon schief gehen.
                  Danke für den Hinweis.

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

                    @radi es gibt da auch einige die deutsch sprechen. Jedoch wird da bevorzugt auf englisch geredet. Der hauptentwickler ist auch aus Hannover.

                    Mit deep-L kommst du denke ich gut voran.

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

                      Da ich bei der aktuellen Firmware jetzt öfters die Fehlermeldung "409 Come back later" erhalte dachte ich mir, ich versuche es mal anders.

                      Und zwar kann der AP ja auch die JPG-Dateien selber vom ioBroker herunterladen. Eventuell ist das einfacher, als sie von iob immer auf den AP zu "schieben".

                      Das Skript wäre dann erstmal wie folgt:

                      function updateEPaperWithView(sView, sEPaperMac, imgWidth, imgHeight) {
                          sendTo('puppeteer.0', 'screenshot', { 
                              url: 'http://localhost:8082/vis/index.html#' + sView,
                              ioBrokerOptions: {
                                  storagePath: sView + '.jpg',
                              },
                              waitOption: {
                                  waitForTimeout: 8000,
                              },
                              viewportOptions: {
                                  width: imgWidth,
                                  height: imgHeight
                              },
                              type: "jpeg",
                              quality: 100
                          }, obj => {
                              if (obj.error) {
                                  log(`Error taking screenshot: ${obj.error.message}`, 'error');
                              } else {
                                  //log('Sucessfully took screenshot');
                                  
                              }
                          });
                      }
                      
                      function runEPaperUpdates() {
                      
                          updateEPaperWithView("epaper_pool", "0000021B4F30XXXX", 296, 128);
                          updateEPaperWithView("epaper_solar_verbrauch", "0000021EEB8DXXXX", 296, 128);
                          updateEPaperWithView("epaper_solar", "0000021B7710XXXX", 296, 128);
                      }
                      
                      runEPaperUpdates();
                      
                      schedule("*/1 * * * *", function () {
                          runEPaperUpdates();
                      });
                      

                      Im AP wählt man dann beim jeweiligen Tag die Funktion "Image URL" aus und nutzt als Adresse die des lokalen ioBrokers. Zum Beispiel http://iobroker.local:8082/0_userdata.0/epaper_solar.jpg

                      Der Dateiname entspricht dem Namen der View.

                      Als Interval kann man dann z. B. 3 (Minuten) angeben. Dies wäre auch das Minimum.

                      Vielleicht bringt es ja etwas 😉

                      R BananaJoe 2 Replies Last reply Reply Quote 2
                      • R
                        Radi @oxident last edited by Radi

                        @oxident sagte in EPS E-INK Display Ansteuerung -> Statusdisplay für 2€:
                        Nun ja, was soll ich sagen? Dein neues Script läuft mit deutlich geringerer Prozessorlast und fuktioniert auch.
                        Allerdings scheitere ich diesmal am Abholen der erstellten Snapshots. Ich erhalte immer folgende Fehlermeldung im log des Openepaper-AP:

                        16:35:41 http http://iobroker.local:8089/0_userdata.0/EPAPER_Solar.jpg -1
                        16:35:35 Updating 0000021F2xxxxxx
                        

                        Ich vermute mal, er bekommt keinen Zugriff auf den Snapshot. Was mache ich falsch?

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

                          @radi Kannst Du denn exakt diese URL bei Dir auf dem Rechner aufrufen?

                          Falls ja, dann versuche doch mal anstelle iobroker.local die IP vom iobroker.

                          R 1 Reply Last reply Reply Quote 0
                          • R
                            Radi @oxident last edited by

                            @oxident Nein, es geht weder so, noch mit der IP des IOBrokers, habe auch mit der anderen Port-Nummer probiert (habe eine zweite web-instanz). Deswegen die Frage nach meinem Fehler.

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

                              @radi Was sagt denn Dein Browser? Datei nicht gefunden?

                              Du kannst unter dieser Adresse aber Deine Vis erreichen, oder?

                              R 1 Reply Last reply Reply Quote 0
                              • R
                                Radi @oxident last edited by Radi

                                @oxident Habs gerade noch mal mit dem Port der zweiten web-Instanz probiert und siehe da ich bekomme im Browser eine Vorschau und der TAG wird mit der Einstellung aktualisiert. Vielleicht habe ich mich beim letzten mal irgendwo vertippt.
                                Danke noch mal für deine Unterstützung. Ich beobachte das Ganze jetzt erst mal.

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

                                  @radi Cool, das freut mich.
                                  Denk auch daran, dass es ab und wann Updates für den AP gibt. Manchmal klappt danach zwar gar nix mehr, aber das Projekt entwickelt sich schnell weiter 😉

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

                                    Ich lese hier nun schon von Anfang an mit. Aber hatte bisher keine schöne Bezugsquelle für die Displays gefunden (oder man musste 200 Stück kaufen).
                                    Hätte einer eine schöne Quelle für mich?

                                    Jey Cee O 2 Replies Last reply Reply Quote 0
                                    • Jey Cee
                                      Jey Cee Developer @BananaJoe last edited by

                                      @bananajoe ich hab meinen Mini AP mit ein paar Displays hier gekauft: https://www.tindie.com/stores/electronics-by-nic/

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

                                        @bananajoe Ja, ich ebenfalls. Ging schnell und war alles ok.

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

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

                                          @bananajoe ich hab meinen Mini AP mit ein paar Displays hier gekauft: https://www.tindie.com/stores/electronics-by-nic/

                                          Cool, sogar fix und fertig Kits. Danke!

                                          Und nun sehe ich auch das im ersten Beitrag der Link auch steht ... warum habe ich den vorher nur übersehen ...

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

                                            So, ich spiele gerade ein wenig rum, funktioniert alles sehr schön. Ich muss mir nur noch eine Halterung ausdenken.
                                            Für den AP drucke ich gerade eine Wandhalterung auf dem 3D Drucker.

                                            Es gibt den Ruf nach einem Adapter.
                                            Schritt 1 wäre ja das man den AP abfragen könnte welche Tags er kennt.

                                            Nun habe ich aber noch keine URL gefunden von der man die Informationen holen könnte.
                                            Auf der Weboberfläche ganz rechts gibt es ja einen Button mit dem Ordner-Symbol.
                                            Damit kann man das Dateisystem durchsuchen.
                                            Da gäbe es unter /current/tagDB.JSON die Liste mit den Tags - da wäre zumindest schon mal die MAC und der alias interessant.

                                            Aber da komme ich ja so nicht ran.
                                            Unter /www/ sehe ich alles was man per URL aufrufen könnte (.gz weglassen), aber da ist so direkt auch nichts bei.

                                            Also was ich suche ist so etwas wie eine API
                                            Ich habe mir auch mal auf GitHub die Home Assistent Integration angeschaut, aber da muss man die Tags auch schon vorher kennen.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            796
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            42
                                            991
                                            243856
                                            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