Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Praktische Anwendungen (Showcase)
  4. E-INK Display OpenEPaperLink - Displayanzeige mit Batterie

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    2.4k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    982

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.3k

E-INK Display OpenEPaperLink - Displayanzeige mit Batterie

Scheduled Pinned Locked Moved Praktische Anwendungen (Showcase)
1.0k Posts 49 Posters 365.0k Views 52 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • B bimmi

    @gr https://everything.curl.dev/http/multipart

    Dann mit exec / curl ?

    MartinPM Online
    MartinPM Online
    MartinP
    wrote on last edited by
    #29

    @bimmi. 802.15.4 ist ja auch die Grundlage von Zigbee. Es wäre ja schön, wenn der womöglich eh vorhandene Zigbee USB Stick gleich die Access Point Rolle für die Displays übernehmen könnte.

    Offtopic: Ist die Kommunikation eigentlich in irgendeiner Form gesichert?
    Da die Dinger ja Primär im Supermarkt eingesetzt werden, könnte womöglich jemand auf Basis des Konzeptes im Supermarkt Unsinn mit den dortigen Preisschildern treiben

    Intel(R) Celeron(R) CPU N3000 @ 1.04GHz 8G RAM 480G SSD
    Virtualization : unprivileged lxc container (debian 12 on Proxmox 8.4.14)
    Linux pve 6.8.12-16-pve
    6 GByte RAM für den Container
    Fritzbox 6591 FW 8.03 (Vodafone Leih-Box)
    Remote-Access über Wireguard der Fritzbox

    B 1 Reply Last reply
    0
    • MartinPM MartinP

      @bimmi. 802.15.4 ist ja auch die Grundlage von Zigbee. Es wäre ja schön, wenn der womöglich eh vorhandene Zigbee USB Stick gleich die Access Point Rolle für die Displays übernehmen könnte.

      Offtopic: Ist die Kommunikation eigentlich in irgendeiner Form gesichert?
      Da die Dinger ja Primär im Supermarkt eingesetzt werden, könnte womöglich jemand auf Basis des Konzeptes im Supermarkt Unsinn mit den dortigen Preisschildern treiben

      B Offline
      B Offline
      bimmi
      wrote on last edited by
      #30

      @martinp ist habe diesbezüglich bei Koenkk schon vor Wochen ein issue eröffnet 👌

      Nein. Keine Verschlüsselung! Jedoch können die EPS im Supermarkt ohne Firmware Modifikation nicht mit dem esp ap kommunizieren.

      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 😬

      MartinPM 1 Reply Last reply
      0
      • B bimmi

        @martinp ist habe diesbezüglich bei Koenkk schon vor Wochen ein issue eröffnet 👌

        Nein. Keine Verschlüsselung! Jedoch können die EPS im Supermarkt ohne Firmware Modifikation nicht mit dem esp ap kommunizieren.

        MartinPM Online
        MartinPM Online
        MartinP
        wrote on last edited by
        #31

        @bimmi Interessant wäre ein freier Input-Pin des Chips. Fensterkontakt damit aufzubauen wäre bei dem Preis auch interessant...

        Intel(R) Celeron(R) CPU N3000 @ 1.04GHz 8G RAM 480G SSD
        Virtualization : unprivileged lxc container (debian 12 on Proxmox 8.4.14)
        Linux pve 6.8.12-16-pve
        6 GByte RAM für den Container
        Fritzbox 6591 FW 8.03 (Vodafone Leih-Box)
        Remote-Access über Wireguard der Fritzbox

        B 1 Reply Last reply
        0
        • MartinPM MartinP

          @bimmi Interessant wäre ein freier Input-Pin des Chips. Fensterkontakt damit aufzubauen wäre bei dem Preis auch interessant...

          B Offline
          B Offline
          bimmi
          wrote on last edited by bimmi
          #32

          @martinp https://github.com/jjwbruijn/OpenEPaperLink/wiki/Hardware-mods

          Steht ja alles noch in den Kinder Schuhen. Aber der erste Hardware mod ist schon da 😅 immerhin ein wakeup

          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 Reply Last reply
          0
          • draexlerD draexler

            @bimmi kein Ding 😊 ich kriegs leider gar nicht hin… aber es eilt ja nichts.

            GRG Online
            GRG Online
            GR
            wrote on last edited by
            #33

            @draexler
            hab jetzt mal ein CURL-Anfrage gebaut. Das JSON muss URL-Encoded werden. Ich schick das mit dem EXEC-Blockly raus.

             curl 'http://192.168.11.11/jsonupload' \
              -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7' \
              -H 'Accept-Language: de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7' \
              -H 'Cache-Control: no-cache' \
              -H 'Connection: keep-alive' \
              -H 'Content-Type: application/x-www-form-urlencoded' \
              -H 'Origin: http://192.168.11.11' \
              -H 'Pragma: no-cache' \
              -H 'Referer: http://192.168.11.11/jsontemplate-demo.html' \
              -H 'Upgrade-Insecure-Requests: 1' \
              -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36' \
              --data-raw 'mac=0000021EDC223B15&json=%5B%0D%0A++++%7B%22text%22%3A+%5B5%2C5%2C%22Bahnschrift+20%22%2C%22fonts%2Fbahnschrift20%22%2C1%5D%7D%2C%0D%0A++++%7B%22box%22%3A+%5B10%2C30%2C20%2C20%2C1%5D%7D%2C%0D%0A++++%7B%22box%22%3A+%5B35%2C30%2C20%2C20%2C2%5D%7D%2C%0D%0A++++%7B%22triangle%22%3A+%5B60%2C30%2C60%2C50%2C80%2C40%2C1%5D%7D%2C%0D%0A++++%7B%22text%22%3A+%5B5%2C80%2C%22Plain+text+glasstown_nbp_tf%22%2C%22glasstown_nbp_tf%22%2C1%5D%7D%2C%0D%0A++++%7B%22text%22%3A+%5B5%2C95%2C%22Plain+text+7x14_tf%22%2C%227x14_tf%22%2C2%5D%7D%2C%0D%0A++++%7B%22text%22%3A+%5B5%2C110%2C%22Plain+text+t0_14b_tf%22%2C%22t0_14b_tf%22%2C1%5D%7D%2C%0D%0A++++%7B%22text%22%3A+%5B135%2C5%2C%2230%22%2C%22fonts%2Fbahnschrift30%22%2C2%5D%7D%2C%0D%0A++++%7B%22text%22%3A+%5B215%2C5%2C%2270%22%2C%22fonts%2Fbahnschrift70%22%2C1%5D%7D%2C%0D%0A++++%7B%22text%22%3A+%5B150%2C80%2C%2250%22%2C%22fonts%2Fcalibrib50%22%2C2%2C0%5D%7D%2C%0D%0A++++%7B%22text%22%3A+%5B205%2C60%2C%2280%22%2C%22fonts%2Fcalibrib80%22%2C2%5D%7D%2C%0D%0A++++%7B%22text%22%3A+%5B90%2C35%2C%22calibrib30%22%2C%22fonts%2Fcalibrib30%22%2C1%5D%7D%2C%0D%0A++++%7B%22line%22%3A+%5B10%2C120%2C290%2C120%2C1%5D%7D%2C%0D%0A++++%7B%22line%22%3A+%5B10%2C115%2C290%2C115%2C2%5D%7D%0D%0A%5D%0D%0A++++++++++++' \
              --compressed \
              --insecure
            

            Das funktioniert jetzt mal für JSON-Inputs

            draexlerD 1 Reply Last reply
            0
            • GRG GR

              @draexler
              hab jetzt mal ein CURL-Anfrage gebaut. Das JSON muss URL-Encoded werden. Ich schick das mit dem EXEC-Blockly raus.

               curl 'http://192.168.11.11/jsonupload' \
                -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7' \
                -H 'Accept-Language: de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7' \
                -H 'Cache-Control: no-cache' \
                -H 'Connection: keep-alive' \
                -H 'Content-Type: application/x-www-form-urlencoded' \
                -H 'Origin: http://192.168.11.11' \
                -H 'Pragma: no-cache' \
                -H 'Referer: http://192.168.11.11/jsontemplate-demo.html' \
                -H 'Upgrade-Insecure-Requests: 1' \
                -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36' \
                --data-raw 'mac=0000021EDC223B15&json=%5B%0D%0A++++%7B%22text%22%3A+%5B5%2C5%2C%22Bahnschrift+20%22%2C%22fonts%2Fbahnschrift20%22%2C1%5D%7D%2C%0D%0A++++%7B%22box%22%3A+%5B10%2C30%2C20%2C20%2C1%5D%7D%2C%0D%0A++++%7B%22box%22%3A+%5B35%2C30%2C20%2C20%2C2%5D%7D%2C%0D%0A++++%7B%22triangle%22%3A+%5B60%2C30%2C60%2C50%2C80%2C40%2C1%5D%7D%2C%0D%0A++++%7B%22text%22%3A+%5B5%2C80%2C%22Plain+text+glasstown_nbp_tf%22%2C%22glasstown_nbp_tf%22%2C1%5D%7D%2C%0D%0A++++%7B%22text%22%3A+%5B5%2C95%2C%22Plain+text+7x14_tf%22%2C%227x14_tf%22%2C2%5D%7D%2C%0D%0A++++%7B%22text%22%3A+%5B5%2C110%2C%22Plain+text+t0_14b_tf%22%2C%22t0_14b_tf%22%2C1%5D%7D%2C%0D%0A++++%7B%22text%22%3A+%5B135%2C5%2C%2230%22%2C%22fonts%2Fbahnschrift30%22%2C2%5D%7D%2C%0D%0A++++%7B%22text%22%3A+%5B215%2C5%2C%2270%22%2C%22fonts%2Fbahnschrift70%22%2C1%5D%7D%2C%0D%0A++++%7B%22text%22%3A+%5B150%2C80%2C%2250%22%2C%22fonts%2Fcalibrib50%22%2C2%2C0%5D%7D%2C%0D%0A++++%7B%22text%22%3A+%5B205%2C60%2C%2280%22%2C%22fonts%2Fcalibrib80%22%2C2%5D%7D%2C%0D%0A++++%7B%22text%22%3A+%5B90%2C35%2C%22calibrib30%22%2C%22fonts%2Fcalibrib30%22%2C1%5D%7D%2C%0D%0A++++%7B%22line%22%3A+%5B10%2C120%2C290%2C120%2C1%5D%7D%2C%0D%0A++++%7B%22line%22%3A+%5B10%2C115%2C290%2C115%2C2%5D%7D%0D%0A%5D%0D%0A++++++++++++' \
                --compressed \
                --insecure
              

              Das funktioniert jetzt mal für JSON-Inputs

              draexlerD Online
              draexlerD Online
              draexler
              wrote on last edited by draexler
              #34

              @gr super 👍 danke 👍 wie wäre dann der Aufbau der json url in im Tag selber?

              draexlerD 1 Reply Last reply
              0
              • draexlerD draexler

                @gr super 👍 danke 👍 wie wäre dann der Aufbau der json url in im Tag selber?

                draexlerD Online
                draexlerD Online
                draexler
                wrote on last edited by draexler
                #35

                @GR Aber wenn ich richtige verstehe schiebst du das ganze in den jsonupload Ordner (in deinem Fall hat der AP die IP 192.168.11.11) und gibt in dem Dara-raw nur noch die MAC des Tags mit. Korrekt?! Aber wieso enthält dein Code Fragmente (oder Verweis keine Ahnung) auf das "jsontemplate-demo.html?
                Sorry für die doofen Fragen, aber das ist mir zu hoch....

                GRG 1 Reply Last reply
                0
                • draexlerD draexler

                  @GR Aber wenn ich richtige verstehe schiebst du das ganze in den jsonupload Ordner (in deinem Fall hat der AP die IP 192.168.11.11) und gibt in dem Dara-raw nur noch die MAC des Tags mit. Korrekt?! Aber wieso enthält dein Code Fragmente (oder Verweis keine Ahnung) auf das "jsontemplate-demo.html?
                  Sorry für die doofen Fragen, aber das ist mir zu hoch....

                  GRG Online
                  GRG Online
                  GR
                  wrote on last edited by GR
                  #36

                  @draexler Den Referrer könnte ich wahrscheinlich löschen. Ich hab den Datenverkehr kopiert, als ich über die Webseite "jsontemplate-demo.html" mein JSON hochgeladen habe.
                  Dann hab ich das Ergebnis in einBlockly-Exec kopiert. Das hat funktioniert.
                  Hier die Anleitung:

                  https://everything.curl.dev/usingcurl/copyas
                  
                  1 Reply Last reply
                  0
                  • draexlerD draexler

                    Habe mich jetzt mal ein bisschen mit dem JSON Template beschäftig.
                    Es gibt ja das "Json-template-demo" Template. Leider werde ich daraus nicht ganz schlau

                    Es gibt ein paar Stellen wo ich etwas eintragen soll (Mac oder halt die eingentliche Ausgabe). Aber irgendwie kapier ich das nicht. Es gibt eine Stelle wo steht "Place the JSON String here" und weiter unten kommt es nochmal, also der Textaufbau? Also irgendwie stehe ich voll auf dem Schlauch.

                    Frage 1:
                    Kann mir jemand sagen wie der Testcode aussehen muss damit ich ein einfaches "Hallo Welt" hinbekommen?

                    Frage 2:
                    Und wie muss die URL im Tag für die JSON aussehen?

                    <!DOCTYPE html>
                    <html>
                    
                    <head>
                    	<meta charset="UTF-8">
                    	<title>Json template Upload Form</title>
                    </head>
                    
                    <body>
                    	<h3>demo Json template form</h3>
                    	<p>You can use this as an example how to push json templates to a tag by an external server/script. Make sure your json is valid. Check the syntax on <a href="https://jsonlint.com/" target="_blank">https://jsonlint.com/</a>.<br>
                        Documentation: <a href="https://github.com/jjwbruijn/OpenEPaperLink/wiki/Json-template">https://github.com/jjwbruijn/OpenEPaperLink/wiki/Json-template</a></p>
                    	<p>
                    		<form method="POST" action="/jsonupload">
                    
                    			<p>
                    			<label for="mac">Enter a 6 or 8 byte MAC address:</label><br>
                    			<input type="text" id="mac" name="mac">
                    			</p>
                    
                    			<p>
                    			<label for="image">Place the json string here</label><br>
                    			<textarea id="image" name="json" style="width:500px;height:80px;">
                    [
                    { "text": [5, 5, "Bahnschrift 20", "fonts/bahnschrift20", 1] },
                    { "box": [10, 30, 20, 20, 2] }
                    ]
                                </textarea>
                    			</p>
                    
                    			<p>
                    			<input type="submit" value="Upload">
                    			</p>
                    
                    		</form>
                    	</p>
                    </body>
                    
                    </html>
                    
                    
                    GRG Online
                    GRG Online
                    GR
                    wrote on last edited by
                    #37

                    @draexler
                    Die Seite musst Du im Browser aufrufen mit http://ip-deines-AP/jsontemplate-demo.html

                    Hier kannst Du dann die Mac Deines Tags eingeben und das JSON mit dem Inhalt z.B.

                    [
                        {"box": [0,0,296,40,1]},
                        {"text": [46,10,"BATTERIESTAND","fonts/calibrib30",0]},
                        {"text": [82,40,"99","fonts/calibrib120",2]},
                        {"text": [200,102,"%","fonts/calibrib30",2]}
                    ]
                    
                    draexlerD 1 Reply Last reply
                    0
                    • GRG GR

                      @draexler
                      Die Seite musst Du im Browser aufrufen mit http://ip-deines-AP/jsontemplate-demo.html

                      Hier kannst Du dann die Mac Deines Tags eingeben und das JSON mit dem Inhalt z.B.

                      [
                          {"box": [0,0,296,40,1]},
                          {"text": [46,10,"BATTERIESTAND","fonts/calibrib30",0]},
                          {"text": [82,40,"99","fonts/calibrib120",2]},
                          {"text": [200,102,"%","fonts/calibrib30",2]}
                      ]
                      
                      draexlerD Online
                      draexlerD Online
                      draexler
                      wrote on last edited by draexler
                      #38

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

                      http://ip-deines-AP/jsontemplate-demo.html

                      Ah, langsam wird ein Schuh draus und was kommt hier als URL?

                      Bildschirmfoto 2023-07-22 um 12.09.32.png

                      Gibt es eine Möglichkeiten damit auch mehrere Displays gleichzeitig mit dem gleichen Inhalt anzusteuern? Also nur unterschiedliche MAC Adressen?

                      B 1 Reply Last reply
                      0
                      • draexlerD draexler

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

                        http://ip-deines-AP/jsontemplate-demo.html

                        Ah, langsam wird ein Schuh draus und was kommt hier als URL?

                        Bildschirmfoto 2023-07-22 um 12.09.32.png

                        Gibt es eine Möglichkeiten damit auch mehrere Displays gleichzeitig mit dem gleichen Inhalt anzusteuern? Also nur unterschiedliche MAC Adressen?

                        B Offline
                        B Offline
                        bimmi
                        wrote on last edited by
                        #39

                        @draexler du könntest Dein Blockly dementsprechend einfach mehrerer "exec" hinzufügen. Aktuell wird aber an einer "Gruppierung" gearbeitet.

                        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 😬

                        draexlerD 1 Reply Last reply
                        0
                        • B bimmi

                          @draexler du könntest Dein Blockly dementsprechend einfach mehrerer "exec" hinzufügen. Aktuell wird aber an einer "Gruppierung" gearbeitet.

                          draexlerD Online
                          draexlerD Online
                          draexler
                          wrote on last edited by
                          #40

                          @bimmi Aktuell verfolge ich das ganze Thema ohne ioBroker. Und da finde ich die Eingabemöglichkeit bzw. das absenden der JSON innerhalb des AP als Perfekte Idee.

                          Aber was muss nun in das URL Feld im Tag? (Siehe Post davor)

                          B 1 Reply Last reply
                          0
                          • draexlerD draexler

                            @bimmi Aktuell verfolge ich das ganze Thema ohne ioBroker. Und da finde ich die Eingabemöglichkeit bzw. das absenden der JSON innerhalb des AP als Perfekte Idee.

                            Aber was muss nun in das URL Feld im Tag? (Siehe Post davor)

                            B Offline
                            B Offline
                            bimmi
                            wrote on last edited by
                            #41

                            @draexler ich habe mich mit dem json noch nicht beschäftigt. ich denke da muss gar nichts rein. einfach mal die jsonupload html mal testen. die funktioniert ja unabhängig.

                            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 😬

                            draexlerD 1 Reply Last reply
                            0
                            • B bimmi

                              @draexler ich habe mich mit dem json noch nicht beschäftigt. ich denke da muss gar nichts rein. einfach mal die jsonupload html mal testen. die funktioniert ja unabhängig.

                              draexlerD Online
                              draexlerD Online
                              draexler
                              wrote on last edited by
                              #42

                              @bimmi Stimmt, GR hat ja gepostet :-) Dir natürlich auch Danke für die ganze Hilfe.

                              B 1 Reply Last reply
                              0
                              • draexlerD draexler

                                @bimmi Stimmt, GR hat ja gepostet :-) Dir natürlich auch Danke für die ganze Hilfe.

                                B Offline
                                B Offline
                                bimmi
                                wrote on last edited by
                                #43

                                @draexler beschäftige mich ja selber erst seit 3 oder 4 wochen damit :D

                                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 Reply Last reply
                                0
                                • O Offline
                                  O Offline
                                  oxident
                                  wrote on last edited by
                                  #44

                                  Das Projekt ist wirklich toll. Kämpfe aber damit, es einfach im iobroker ansteuern zu können:

                                  Screenshot einer bestimmten View vom Vis via Pupetteer scheitert, weil ich das Ergebnis nicht via Vis zur Verfügung stellen kann (landet bei mir im Redis und ich schaffe es nicht, die Datei in den richtigen Ordner zu schieben).

                                  JSON klingt gut, aber da gehen keine Bilder :-(

                                  Habt ihr noch Ideen?

                                  O 1 Reply Last reply
                                  0
                                  • O oxident

                                    Das Projekt ist wirklich toll. Kämpfe aber damit, es einfach im iobroker ansteuern zu können:

                                    Screenshot einer bestimmten View vom Vis via Pupetteer scheitert, weil ich das Ergebnis nicht via Vis zur Verfügung stellen kann (landet bei mir im Redis und ich schaffe es nicht, die Datei in den richtigen Ordner zu schieben).

                                    JSON klingt gut, aber da gehen keine Bilder :-(

                                    Habt ihr noch Ideen?

                                    O Offline
                                    O Offline
                                    oxident
                                    wrote on last edited by oxident
                                    #45

                                    Alles klar, habe es jetzt mal selber "gefrickelt". Hierzu habe ich im Vis eine View erstellt und mir dort als Hilfsmittel einen 296x128px Rahmen gezogen. Außerdem habe ich den Adapter "Puppeteer" installiert.

                                    Im Vis tobe ich mich dann innerhalb des Rahmens aus und nutze folgendes Javascript:

                                    sendTo('puppeteer.0', 'screenshot', { 
                                        url: 'http://localhost:8082/vis/index.html#NAME_DER_VIEW',
                                        ioBrokerOptions: {
                                            storagePath: 'test.jpg',
                                          },
                                          waitOption: {
                                            waitForTimeout: 5000,
                                          },
                                          viewportOptions: {
                                            width: 296,
                                            height: 128
                                          },
                                          type: "jpeg",
                                          quality: 100
                                    }, obj => {
                                          if (obj.error) {
                                            log(`Error taking screenshot: ${obj.error.message}`, 'error');
                                          } else {
                                            log('Sucessfully took screenshot');
                                            sendImageToEPaper(obj.result, "MAC-VOM-DISPLAY");
                                          }
                                    });
                                    
                                    function sendImageToEPaper(objImage, sMac) {
                                        var request = require('request');
                                        var options = {
                                                url: 'http://IP-VOM-AP/imgupload',
                                                method: 'POST',
                                                formData: { 
                                                    "dither": "0", 
                                                    "mac": sMac,
                                                    "image": objImage },
                                                
                                            };
                                            
                                        request(options,function (error, response, body){
                                            
                                                //log("Login-Antwort: " + JSON.stringify(response));
                                                if(parseInt(body.error_code)==0) {
                                                    
                                                } else {
                                                    
                                                }
                                                
                                            });
                                    }
                                    
                                    R 1 Reply Last reply
                                    2
                                    • B Offline
                                      B Offline
                                      bimmi
                                      wrote on last edited by bimmi
                                      #46

                                      @oxident so ähnlich mache ich es auch. setze aber die werte über die datenpunkte. mir wäre so ein script auch viel lieber bin aber eher der blockly fan :D und da komm ich nicht weiter mit clip usw...

                                      mein blockly sieht so aus:

                                      es holt die werte aus den datenpunkten und befüllt die datenpunkte vom puppeteer damit:

                                      d02a0457-2561-482d-b2c6-55ebb70cf4ba-image.png

                                      anschließend sende ich per curl einen refresh an den AP.

                                      Gibt sicher bessere Lösungen aber so funktioniert es!

                                      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 😬

                                      O 1 Reply Last reply
                                      1
                                      • B bimmi

                                        @oxident so ähnlich mache ich es auch. setze aber die werte über die datenpunkte. mir wäre so ein script auch viel lieber bin aber eher der blockly fan :D und da komm ich nicht weiter mit clip usw...

                                        mein blockly sieht so aus:

                                        es holt die werte aus den datenpunkten und befüllt die datenpunkte vom puppeteer damit:

                                        d02a0457-2561-482d-b2c6-55ebb70cf4ba-image.png

                                        anschließend sende ich per curl einen refresh an den AP.

                                        Gibt sicher bessere Lösungen aber so funktioniert es!

                                        O Offline
                                        O Offline
                                        oxident
                                        wrote on last edited by
                                        #47

                                        @bimmi Ahh, gut gelöst!

                                        Ist schon spannend, was man damit machen kann. Ich bin auch schwer begeistert davon, dass die Teilchen die gerenderte Vis so genial darstellen können. Damit habe ich maximale Flexibilität beim Gestalten der Oberfläche und kann vorhandene Widgets einfach übernehmen.

                                        Tolles Projekt :blush:

                                        B 1 Reply Last reply
                                        0
                                        • O oxident

                                          @bimmi Ahh, gut gelöst!

                                          Ist schon spannend, was man damit machen kann. Ich bin auch schwer begeistert davon, dass die Teilchen die gerenderte Vis so genial darstellen können. Damit habe ich maximale Flexibilität beim Gestalten der Oberfläche und kann vorhandene Widgets einfach übernehmen.

                                          Tolles Projekt :blush:

                                          B Offline
                                          B Offline
                                          bimmi
                                          wrote on last edited by
                                          #48

                                          @oxident ja schon gut gelöst aber noch nicht optimal :D die Übertragung nervt mich noch, da ja zwei stellen sich unterschiedlich aktualisieren und pupetter nich 100% beim screenshot hat. das ist aber zwingend nötig, damit die Grafik nicht ausfranst.

                                          Ich will das ganze per embedded Script übers Blockly lösen- wie in diesem Beitrag: https://forum.iobroker.net/topic/54944/puppeteer-screenshots-phantomjs-alternative/205 - jedoch scheitert es da bei mir :D und die Antworten bzw. Hilfestellungen blieben bisher aus :(

                                          Am liebsten wäre es mir mit dem sendto script puppeteer, dann bei der Meldung OK, schicke per curl an imgupload. Das wäre die beste Lösung, dann könnte man den AP auch entlasten!

                                          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 😬

                                          draexlerD 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          739

                                          Online

                                          32.6k

                                          Users

                                          82.2k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe