Skip to content
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Praktische Anwendungen (Showcase)
  4. E-INK Display OpenEPaperLink - Displayanzeige mit Batterie

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.1k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.8k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.1k

E-INK Display OpenEPaperLink - Displayanzeige mit Batterie

Geplant Angeheftet Gesperrt Verschoben Praktische Anwendungen (Showcase)
1.0k Beiträge 48 Kommentatoren 343.4k Aufrufe 51 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • E Offline
    E Offline
    eMd
    schrieb am zuletzt editiert von
    #771

    Ich bedanke mich bei euch allen und vorallem bei @BananaJoe !

    Ich weiß nicht warum, aber es geht nun, habe in der zwischenzeit gefühlt 1000 Sachen geändert und mit einmal geht es.
    Keine Ahnung wo da der Fehler lag...

    MfG
    eMd

    Master: Intel NUC 16GB/500GB
    Slave: Raspberry Pi 3 + Homematicmodul
    Shelly, Google Home, Zigbee Aqara, Sonoff

    Meine VIS: https://youtu.be/JMYr2KYlpME

    WebrangerW 1 Antwort Letzte Antwort
    1
    • BananaJoeB BananaJoe

      @eisbaeeer ich hatte es versucht ... aber nicht hinbekommen. Zur Zeit triggere ich playwright alle 3 Minuten an, die Bilder landen in einem Ordner meines Webservers (läuft mit auf dem ioBroker Server auf Port 80) und die Tags stehen auf Image URL

      Dazu habe ich ein Python-Skript hinterlegt das 3 VIS-Seiten besucht und die Screenshots hinterlegt:

      #!/usr/bin/python3
      # -*- coding: utf-8 -*-
      import subprocess
      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()
      
      # Schritt 1: Kühlschrank
      page.goto("http://192.168.1.8:60008/vis/index.html?openepaper#Kuehlschrank01")
      expect(page.get_by_text("Kuehlschrank01")).to_be_visible()
      #page.screenshot(path="/var/www/html/openepaper/Kuehlschrank01_4x.jpg",clip={"x":0,"y":0,"width":296,"height":128},quality=100,type="jpeg")
      page.screenshot(path="/var/www/html/openepaper/Kuehlschrank01_4x.png",clip={"x":0,"y":0,"width":296,"height":128},type="png")
      myconvert=subprocess.call(['/usr/bin/convert', '/var/www/html/openepaper/Kuehlschrank01_4x.png', '-sample', '296x128', '-quality', '100', '-sampling-factor', '4:4:4', '-brightness-contrast', '0x99', '/var/www/html/openepaper/Kuehlschrank01.jpg' ])
      
      # Schritt 2: Pylontech
      page.goto("http://192.168.1.8:60008/vis/index.html?openepaper#Pylontech")
      expect(page.get_by_text("Pylontech")).to_be_visible()
      #page.screenshot(path="/var/www/html/openepaper/Pylontech_4x.jpg",clip={"x":0,"y":0,"width":296,"height":128},quality=100,type="jpeg")
      page.screenshot(path="/var/www/html/openepaper/Pylontech_4x.png",clip={"x":0,"y":0,"width":296,"height":128},type="png")
      myconvert=subprocess.call(['/usr/bin/convert', '/var/www/html/openepaper/Pylontech_4x.png', '-sample', '296x128', '-quality', '100', '-sampling-factor', '4:4:4', '-brightness-contrast', '0x99', '/var/www/html/openepaper/Pylontech.jpg' ])
      
      # Schritt 3: Briefkasten
      page.goto("http://192.168.1.8:60008/vis/index.html?openepaper#Briefkasten")
      expect(page.get_by_text("Briefkasten")).to_be_visible()
      #page.screenshot(path="/var/www/html/openepaper/Briefkasten_4x.jpg",clip={"x":0,"y":0,"width":296,"height":128},quality=100,type="jpeg")
      page.screenshot(path="/var/www/html/openepaper/Briefkasten_4x.png",clip={"x":0,"y":0,"width":296,"height":128},type="png")
      myconvert=subprocess.call(['/usr/bin/convert', '/var/www/html/openepaper/Briefkasten_4x.png', '-sample', '296x128', '-quality', '100', '-sampling-factor', '4:4:4', '-brightness-contrast', '0x99', '/var/www/html/openepaper/Briefkasten.jpg' ])
      
      # Schritt 4: Fenster und Türen
      page.goto("http://192.168.1.8:60008/vis/index.html?openepaper#EingangstuerV2")
      expect(page.get_by_text("FensterTueren")).to_be_visible()
      #page.screenshot(path="/var/www/html/openepaper/FensterTueren_4x.jpg",clip={"x":0,"y":0,"width":400,"height":300},quality=100,type="jpeg")
      page.screenshot(path="/var/www/html/openepaper/FensterTueren_4x.png",clip={"x":0,"y":0,"width":400,"height":300},type="png")
      myconvert=subprocess.call(['/usr/bin/convert', '/var/www/html/openepaper/FensterTueren_4x.png', '-sample', '400x300', '-quality', '100', '-sampling-factor', '4:4:4', '-brightness-contrast', '0x99', '/var/www/html/openepaper/FensterTueren.jpg' ])
      
      
      browser.close()
      
      playwright.stop()
      
      

      und das ich per Blockly alle 3 Minuten triggere:
      664810da-ac2c-4098-8cfe-bda12090caa6-image.png

      In dem Skript gibt es Zeilen für alle 3 Browser, Firefox sah bei mir am besten aus. Playwright installiert alle 3 Engines.
      Die Screenshots werden doppelt so groß gefertigt und dann herunterskaliert, dafür muss Imagemagick evenfalls installiert sein (für den Befehl convert)

      B Offline
      B Offline
      bonsai308
      schrieb am zuletzt editiert von
      #772

      @bananajoe said in E-INK Display OpenEPaperLink - Displayanzeige mit Batterie:

      Die Screenshots werden doppelt so groß gefertigt und dann herunterskaliert, dafür muss Imagemagick evenfalls installiert sein (für den Befehl convert)

      Eine Frage: wie genau erledigst Du das konvertieren?

      BananaJoeB 1 Antwort Letzte Antwort
      0
      • B bonsai308

        @bananajoe said in E-INK Display OpenEPaperLink - Displayanzeige mit Batterie:

        Die Screenshots werden doppelt so groß gefertigt und dann herunterskaliert, dafür muss Imagemagick evenfalls installiert sein (für den Befehl convert)

        Eine Frage: wie genau erledigst Du das konvertieren?

        BananaJoeB Offline
        BananaJoeB Offline
        BananaJoe
        Most Active
        schrieb am zuletzt editiert von BananaJoe
        #773

        @bonsai308 ich nutze dazu ImageMagick / den Befehl Convert:

        /usr/bin/convert /var/www/html/openepaper/FensterTueren_4x.png -sample 400x300 -quality 100 -sampling-factor 4:4:4 -brightness-contrast 0x99 /var/www/html/openepaper/FensterTueren.jpg' 
        

        Die Parameter hatte ich mir durch ausprobieren ausgeklüngelt.

        Ganz genau: Ich habe das ganze in ein Python-Skript gepackt (weil da heraus playwright gut ansteuern kann, mit einem Aufruf gleich 4 Webseiten abholen) und starte aus diesem Skript auch die Konvertierung.
        Abgelegt wird alles im www Verzeichnis von Apache aus dem sich die OpeneEpaper AccessPoints die Bilder abholen können.

        ioBroker@Ubuntu 24.04 LTS (VMware) für: >260 Geräte, 5 Switche, 7 AP, 9 IP-Cam, 1 NAS 42TB, 1 ESXi 15TB, 4 Proxmox 1TB, 1 Hyper-V 44TB, 14 x Echo, 5x FireTV, 5 x Tablett/Handy VIS || >=157 Tasmota/Shelly || >=88 ZigBee || PV 8.1kW / Akku 14kWh || 2x USV 900/750W kaskadiert || Creality CR-10 SE 3D-Drucker

        1 Antwort Letzte Antwort
        0
        • E Offline
          E Offline
          eMd
          schrieb am zuletzt editiert von
          #774

          Ich bin euch ja noch meinen Einsatzbereich schuldig 😎

          Ich habe für meinen Sohn es so eingestellt, daß immer der nächste Tag als Stundenplan angezeigt wird damit er abends die Mappe packen kann.
          Täglich um 12uhr springt er auf den nächsten Tag um.

          2,2zoll Tag mit Magnet an seinem White Board befestigt.

          Noch ist der Stundenplan einfach nur eine statische HTML Datei. In Zukunft wird das dynamisch über webuntis eingespielt da die Schule da den Stundenplan hinterlegt hat. So kann auch Ausfall und Fächerwechsel angezeigt werden (in rot)

          MfG
          eMd

          Master: Intel NUC 16GB/500GB
          Slave: Raspberry Pi 3 + Homematicmodul
          Shelly, Google Home, Zigbee Aqara, Sonoff

          Meine VIS: https://youtu.be/JMYr2KYlpME

          haselchenH EisbaeeerE 2 Antworten Letzte Antwort
          0
          • E eMd

            Ich bin euch ja noch meinen Einsatzbereich schuldig 😎

            Ich habe für meinen Sohn es so eingestellt, daß immer der nächste Tag als Stundenplan angezeigt wird damit er abends die Mappe packen kann.
            Täglich um 12uhr springt er auf den nächsten Tag um.

            2,2zoll Tag mit Magnet an seinem White Board befestigt.

            Noch ist der Stundenplan einfach nur eine statische HTML Datei. In Zukunft wird das dynamisch über webuntis eingespielt da die Schule da den Stundenplan hinterlegt hat. So kann auch Ausfall und Fächerwechsel angezeigt werden (in rot)

            MfG
            eMd

            haselchenH Offline
            haselchenH Offline
            haselchen
            Most Active
            schrieb am zuletzt editiert von haselchen
            #775

            Puh, 39 Seiten....

            Vielleicht kann meine Frag ja schnell abgehakt werden.
            Ich hab nen Aqara Temp.Sensor.
            Und nur die Temperatur soll auf dem Tag angezeigt werden.
            Bisher nutze ich die Temperatureinstellung meines Wohnortes.
            Das ist ja als Template hinterlegt.

            @BananaJoe
            @Beowolf
            @bimmi

            Synology DS218+ & 2 x Fujitsu Esprimo (VM/Container) + FritzBox7590 + 2 AVM 3000 Repeater & Homematic & HUE & Osram & Xiaomi, NPM 10.9.4, Nodejs 22.21.0 ,JS Controller 7.0.7 ,Admin 7.7.19

            S 1 Antwort Letzte Antwort
            0
            • haselchenH haselchen

              Puh, 39 Seiten....

              Vielleicht kann meine Frag ja schnell abgehakt werden.
              Ich hab nen Aqara Temp.Sensor.
              Und nur die Temperatur soll auf dem Tag angezeigt werden.
              Bisher nutze ich die Temperatureinstellung meines Wohnortes.
              Das ist ja als Template hinterlegt.

              @BananaJoe
              @Beowolf
              @bimmi

              S Nicht stören
              S Nicht stören
              stenmic
              schrieb am zuletzt editiert von
              #776

              @haselchen sagte in E-INK Display OpenEPaperLink - Displayanzeige mit Batterie:

              Puh, 39 Seiten....

              Vielleicht kann meine Frag ja schnell abgehakt werden.
              Ich hab nen Aqara Temp.Sensor.
              Und nur die Temperatur soll auf dem Tag angezeigt werden.
              Bisher nutze ich die Temperatureinstellung meines Wohnortes.
              Das ist ja als Template hinterlegt.

              @BananaJoe
              @Beowolf
              @bimmi

              schau dir das mal an, ist denke ich am einfachsten
              https://forum.iobroker.net/post/1186555

              haselchenH B 2 Antworten Letzte Antwort
              0
              • S stenmic

                @haselchen sagte in E-INK Display OpenEPaperLink - Displayanzeige mit Batterie:

                Puh, 39 Seiten....

                Vielleicht kann meine Frag ja schnell abgehakt werden.
                Ich hab nen Aqara Temp.Sensor.
                Und nur die Temperatur soll auf dem Tag angezeigt werden.
                Bisher nutze ich die Temperatureinstellung meines Wohnortes.
                Das ist ja als Template hinterlegt.

                @BananaJoe
                @Beowolf
                @bimmi

                schau dir das mal an, ist denke ich am einfachsten
                https://forum.iobroker.net/post/1186555

                haselchenH Offline
                haselchenH Offline
                haselchen
                Most Active
                schrieb am zuletzt editiert von haselchen
                #777

                @stenmic

                Danke für Dein Feedback.
                Habs nach Stunden und Gebastel geschafft im Zusammenspiel mit Homeassistant.
                Falls das jemand nachmachen möchte...

                Im Iobroker MQTT Client installiert. Dann einen DP ausgewählt und dort MQTT Client aktiviert.
                In HA MQTT Mosquitto installiert und mit den IObroker Daten gefüttert.
                Eine YAML gebastelt (von Github), https://github.com/OpenEPaperLink/Home_Assistant_Integration)
                Damit eine Automatisierung erstellt.

                42d0e53f-2cc8-43a2-b819-2e744f21a22f-grafik.png

                Und so sieht es aus:

                IMG_2824.jpeg

                Also ich finde, gar nicht mal so schlecht 🙂
                Einmal das ganze Prozedere gemacht, kann man alles drauf darstellen.

                Synology DS218+ & 2 x Fujitsu Esprimo (VM/Container) + FritzBox7590 + 2 AVM 3000 Repeater & Homematic & HUE & Osram & Xiaomi, NPM 10.9.4, Nodejs 22.21.0 ,JS Controller 7.0.7 ,Admin 7.7.19

                S 1 Antwort Letzte Antwort
                0
                • haselchenH haselchen

                  @stenmic

                  Danke für Dein Feedback.
                  Habs nach Stunden und Gebastel geschafft im Zusammenspiel mit Homeassistant.
                  Falls das jemand nachmachen möchte...

                  Im Iobroker MQTT Client installiert. Dann einen DP ausgewählt und dort MQTT Client aktiviert.
                  In HA MQTT Mosquitto installiert und mit den IObroker Daten gefüttert.
                  Eine YAML gebastelt (von Github), https://github.com/OpenEPaperLink/Home_Assistant_Integration)
                  Damit eine Automatisierung erstellt.

                  42d0e53f-2cc8-43a2-b819-2e744f21a22f-grafik.png

                  Und so sieht es aus:

                  IMG_2824.jpeg

                  Also ich finde, gar nicht mal so schlecht 🙂
                  Einmal das ganze Prozedere gemacht, kann man alles drauf darstellen.

                  S Nicht stören
                  S Nicht stören
                  stenmic
                  schrieb am zuletzt editiert von
                  #778

                  @haselchen hätte aber auch ein einfaches Blockly gereicht 🙂

                  haselchenH 1 Antwort Letzte Antwort
                  0
                  • S stenmic

                    @haselchen hätte aber auch ein einfaches Blockly gereicht 🙂

                    haselchenH Offline
                    haselchenH Offline
                    haselchen
                    Most Active
                    schrieb am zuletzt editiert von
                    #779

                    @stenmic

                    Wer will denn hier einfach 😂

                    Synology DS218+ & 2 x Fujitsu Esprimo (VM/Container) + FritzBox7590 + 2 AVM 3000 Repeater & Homematic & HUE & Osram & Xiaomi, NPM 10.9.4, Nodejs 22.21.0 ,JS Controller 7.0.7 ,Admin 7.7.19

                    1 Antwort Letzte Antwort
                    0
                    • S stenmic

                      @haselchen sagte in E-INK Display OpenEPaperLink - Displayanzeige mit Batterie:

                      Puh, 39 Seiten....

                      Vielleicht kann meine Frag ja schnell abgehakt werden.
                      Ich hab nen Aqara Temp.Sensor.
                      Und nur die Temperatur soll auf dem Tag angezeigt werden.
                      Bisher nutze ich die Temperatureinstellung meines Wohnortes.
                      Das ist ja als Template hinterlegt.

                      @BananaJoe
                      @Beowolf
                      @bimmi

                      schau dir das mal an, ist denke ich am einfachsten
                      https://forum.iobroker.net/post/1186555

                      B Offline
                      B Offline
                      Beowolf
                      schrieb am zuletzt editiert von Beowolf
                      #780

                      Hat sich erledigt. Diesen Beitrag nicht beachten.

                      Die Natur braucht nicht unseren Schutz, sie braucht unsere Abwesenheit.

                      S 1 Antwort Letzte Antwort
                      0
                      • B Beowolf

                        Hat sich erledigt. Diesen Beitrag nicht beachten.

                        S Nicht stören
                        S Nicht stören
                        stenmic
                        schrieb am zuletzt editiert von stenmic
                        #781

                        @beowolf
                        wenn du meinst
                        nenn mir mal bitte ne echte Quelle dazu in der das steht.

                        B 1 Antwort Letzte Antwort
                        0
                        • S stenmic

                          @beowolf
                          wenn du meinst
                          nenn mir mal bitte ne echte Quelle dazu in der das steht.

                          B Offline
                          B Offline
                          Beowolf
                          schrieb am zuletzt editiert von Beowolf
                          #782

                          Hat sich erledigt. Diesen Beitrag nicht beachten.

                          Die Natur braucht nicht unseren Schutz, sie braucht unsere Abwesenheit.

                          S 2 Antworten Letzte Antwort
                          1
                          • B Beowolf

                            Hat sich erledigt. Diesen Beitrag nicht beachten.

                            S Nicht stören
                            S Nicht stören
                            stenmic
                            schrieb am zuletzt editiert von stenmic
                            #783

                            @BananaJoe
                            bitte um Aufklärung, wo ist die Quelle deiner Behauptung?
                            https://forum.iobroker.net/topic/66380/e-ink-display-openepaperlink-displayanzeige-mit-batterie/761?_=1729425546222

                            Es geht um axios

                            1 Antwort Letzte Antwort
                            0
                            • B Beowolf

                              Hat sich erledigt. Diesen Beitrag nicht beachten.

                              S Nicht stören
                              S Nicht stören
                              stenmic
                              schrieb am zuletzt editiert von
                              #784

                              @beowolf sagte in E-INK Display OpenEPaperLink - Displayanzeige mit Batterie:

                              @stenmic sagte in E-INK Display OpenEPaperLink - Displayanzeige mit Batterie:

                              @beowolf
                              wenn du meinst
                              nenn mir mal bitte ne echte Quelle dazu in der das steht.

                              Naj, es steht in einem Beitrag von "BananaJoe". Er würde das nicht schreiben, nur weil so viel Tasten auf der Tastatur sind.

                              wenn du alles glaubst…

                              B 1 Antwort Letzte Antwort
                              0
                              • S stenmic

                                @beowolf sagte in E-INK Display OpenEPaperLink - Displayanzeige mit Batterie:

                                @stenmic sagte in E-INK Display OpenEPaperLink - Displayanzeige mit Batterie:

                                @beowolf
                                wenn du meinst
                                nenn mir mal bitte ne echte Quelle dazu in der das steht.

                                Naj, es steht in einem Beitrag von "BananaJoe". Er würde das nicht schreiben, nur weil so viel Tasten auf der Tastatur sind.

                                wenn du alles glaubst…

                                B Offline
                                B Offline
                                Beowolf
                                schrieb am zuletzt editiert von Beowolf
                                #785

                                Hat sich erledigt. Diesen Beitrag nicht beachten.

                                Die Natur braucht nicht unseren Schutz, sie braucht unsere Abwesenheit.

                                S 1 Antwort Letzte Antwort
                                0
                                • B Beowolf

                                  Hat sich erledigt. Diesen Beitrag nicht beachten.

                                  S Nicht stören
                                  S Nicht stören
                                  stenmic
                                  schrieb am zuletzt editiert von stenmic
                                  #786

                                  @beowolf
                                  so ganz mochte ich deinen Hinweis ohne richtige Quellenangabe auch nicht. Nur wenn hier ein User was schreibt, ist das ohne Quelle nix wert. Gerade bei so einer Behauptung.
                                  Aber lass uns besser jetzt aufhören.

                                  BananaJoeB 1 Antwort Letzte Antwort
                                  0
                                  • S stenmic

                                    @beowolf
                                    so ganz mochte ich deinen Hinweis ohne richtige Quellenangabe auch nicht. Nur wenn hier ein User was schreibt, ist das ohne Quelle nix wert. Gerade bei so einer Behauptung.
                                    Aber lass uns besser jetzt aufhören.

                                    BananaJoeB Offline
                                    BananaJoeB Offline
                                    BananaJoe
                                    Most Active
                                    schrieb am zuletzt editiert von
                                    #787

                                    @stenmic Mein Post bezog sich auf das gepostete Skript eines anderen Benutzers /was er gerade benutzt:
                                    a90a7352-d545-4f79-bc95-c457d95e67d3-image.png

                                    Aber ich habe gerade mal gesucht und es genau falsch herum verwechselt, request war das alte und muss durch axios ersetzt werden, was auch die neuen Blockly-Bausteine für http-Abfragen verwenden.

                                    ioBroker@Ubuntu 24.04 LTS (VMware) für: >260 Geräte, 5 Switche, 7 AP, 9 IP-Cam, 1 NAS 42TB, 1 ESXi 15TB, 4 Proxmox 1TB, 1 Hyper-V 44TB, 14 x Echo, 5x FireTV, 5 x Tablett/Handy VIS || >=157 Tasmota/Shelly || >=88 ZigBee || PV 8.1kW / Akku 14kWh || 2x USV 900/750W kaskadiert || Creality CR-10 SE 3D-Drucker

                                    B 1 Antwort Letzte Antwort
                                    1
                                    • BananaJoeB BananaJoe

                                      @stenmic Mein Post bezog sich auf das gepostete Skript eines anderen Benutzers /was er gerade benutzt:
                                      a90a7352-d545-4f79-bc95-c457d95e67d3-image.png

                                      Aber ich habe gerade mal gesucht und es genau falsch herum verwechselt, request war das alte und muss durch axios ersetzt werden, was auch die neuen Blockly-Bausteine für http-Abfragen verwenden.

                                      B Offline
                                      B Offline
                                      Beowolf
                                      schrieb am zuletzt editiert von
                                      #788

                                      @bananajoe

                                      So einfach kann es gehen. Danke für die Korrektur. 👍

                                      Die Natur braucht nicht unseren Schutz, sie braucht unsere Abwesenheit.

                                      G 1 Antwort Letzte Antwort
                                      0
                                      • B Beowolf

                                        @bananajoe

                                        So einfach kann es gehen. Danke für die Korrektur. 👍

                                        G Offline
                                        G Offline
                                        glitzi
                                        schrieb am zuletzt editiert von
                                        #789

                                        Hallo,

                                        seit dem Update von Pupeteer auf 0.4.0 bekomme ich folgende Fehlermeldung.

                                        
                                        javascript.0
                                        2024-10-28 18:54:02.284	error	at processImmediate (node:internal/timers:483:21)
                                        
                                        javascript.0
                                        2024-10-28 18:54:02.284	error	at Immediate._onImmediate (file:///opt/iobroker/node_modules/@iobroker/db-states-redis/src/lib/states/statesInRedisClient.ts:381:37)
                                        
                                        javascript.0
                                        2024-10-28 18:54:02.284	error	at change (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.ts:10886:45)
                                        
                                        javascript.0
                                        2024-10-28 18:54:02.284	error	at Object.cb (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:3097:38)
                                        
                                        javascript.0
                                        2024-10-28 18:54:02.284	error	at Object.<anonymous> (script.js.ESP-E-INK.VIS-View-an-eTag-senden:43:24)
                                        
                                        javascript.0
                                        2024-10-28 18:54:02.284	error	at Function.from (node:buffer:320:9)
                                        
                                        javascript.0
                                        2024-10-28 18:54:02.283	error	Error in callback: TypeError: The first argument must be of type string or an instance of Buffer, ArrayBuffer, or Array or an Array-like Object. Received an instance of Object
                                        

                                        Hier mein Script

                                        
                                        sendTo('puppeteer.0', 'screenshot', { 
                                            url: urlOfVISView,                     
                                            path: imageSaveToFilenameWithPath,     
                                            width: viewWidth,                      
                                            height: viewHeight,                    
                                            quality: jpgQuality,                   
                                         
                                            waitOption: {
                                                waitForSelector: waitForSelector,  
                                                waitForTimeout: 30000              
                                            },
                                         
                                            fullPage: false,                       
                                         
                                            clip: {         
                                                x: cutoutX,                        
                                                y: cutoutY,                        
                                                width: cutoutWidth,                
                                                height: cutoutHeight               
                                            }
                                        }, obj => {
                                            if (obj.error) {
                                                console.warn("Fehler beim Aufruf der View: " + urlOfVISView + " => " + obj.error.message);
                                            } else {
                                                const http = require('http'); 
                                                const https = require('https');
                                                const { URL } = require('url');
                                         
                                                const boundary = '--------------------------' + Date.now().toString(16);
                                                const CRLF = '\r\n';
                                         
                                                // Payload-Erstellung
                                                const payload = Buffer.concat([
                                                    Buffer.from(`--${boundary}${CRLF}Content-Disposition: form-data; name="dither"${CRLF}${CRLF}${dither}${CRLF}`),
                                                    Buffer.from(`--${boundary}${CRLF}Content-Disposition: form-data; name="mac"${CRLF}${CRLF}${ePaperMAC}${CRLF}`),
                                                    Buffer.from(`--${boundary}${CRLF}Content-Disposition: form-data; name="image"; filename="screenshot.jpg"${CRLF}Content-Type: image/jpeg${CRLF}${CRLF}`),
                                                    Buffer.from(obj.result, 'binary'),
                                                    Buffer.from(`${CRLF}--${boundary}--${CRLF}`)
                                                ]);
                                         
                                                // URL Parsing
                                                const url = new URL(imageUploadURL);
                                                const options = {
                                                    hostname: url.hostname,
                                                    port: url.port || (url.protocol === 'https:' ? 443 : 80),
                                                    path: url.pathname + (url.search || ''),
                                                    method: 'POST',
                                                    headers: {
                                                        'Content-Type': 'multipart/form-data; boundary=' + boundary,
                                                        'Content-Length': payload.length
                                                    }
                                                };
                                         
                                                // Protokollwahl
                                                const protocol = url.protocol === 'https:' ? https : http;
                                         
                                                // HTTP Request
                                                const req = protocol.request(options, function(res) {
                                                    console.log('ImageUploadStatusCode:', res.statusCode);
                                                    res.on('data', function(chunk) {
                                                        console.log('Response:', chunk.toString());
                                                    });
                                                });
                                         
                                                req.on('error', function(e) {
                                                    console.error('Fehler beim Hochladen:', e.message);
                                                });
                                         
                                                req.write(payload);
                                                req.end();
                                            }
                                        });
                                        
                                        
                                        B 1 Antwort Letzte Antwort
                                        0
                                        • G glitzi

                                          Hallo,

                                          seit dem Update von Pupeteer auf 0.4.0 bekomme ich folgende Fehlermeldung.

                                          
                                          javascript.0
                                          2024-10-28 18:54:02.284	error	at processImmediate (node:internal/timers:483:21)
                                          
                                          javascript.0
                                          2024-10-28 18:54:02.284	error	at Immediate._onImmediate (file:///opt/iobroker/node_modules/@iobroker/db-states-redis/src/lib/states/statesInRedisClient.ts:381:37)
                                          
                                          javascript.0
                                          2024-10-28 18:54:02.284	error	at change (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.ts:10886:45)
                                          
                                          javascript.0
                                          2024-10-28 18:54:02.284	error	at Object.cb (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:3097:38)
                                          
                                          javascript.0
                                          2024-10-28 18:54:02.284	error	at Object.<anonymous> (script.js.ESP-E-INK.VIS-View-an-eTag-senden:43:24)
                                          
                                          javascript.0
                                          2024-10-28 18:54:02.284	error	at Function.from (node:buffer:320:9)
                                          
                                          javascript.0
                                          2024-10-28 18:54:02.283	error	Error in callback: TypeError: The first argument must be of type string or an instance of Buffer, ArrayBuffer, or Array or an Array-like Object. Received an instance of Object
                                          

                                          Hier mein Script

                                          
                                          sendTo('puppeteer.0', 'screenshot', { 
                                              url: urlOfVISView,                     
                                              path: imageSaveToFilenameWithPath,     
                                              width: viewWidth,                      
                                              height: viewHeight,                    
                                              quality: jpgQuality,                   
                                           
                                              waitOption: {
                                                  waitForSelector: waitForSelector,  
                                                  waitForTimeout: 30000              
                                              },
                                           
                                              fullPage: false,                       
                                           
                                              clip: {         
                                                  x: cutoutX,                        
                                                  y: cutoutY,                        
                                                  width: cutoutWidth,                
                                                  height: cutoutHeight               
                                              }
                                          }, obj => {
                                              if (obj.error) {
                                                  console.warn("Fehler beim Aufruf der View: " + urlOfVISView + " => " + obj.error.message);
                                              } else {
                                                  const http = require('http'); 
                                                  const https = require('https');
                                                  const { URL } = require('url');
                                           
                                                  const boundary = '--------------------------' + Date.now().toString(16);
                                                  const CRLF = '\r\n';
                                           
                                                  // Payload-Erstellung
                                                  const payload = Buffer.concat([
                                                      Buffer.from(`--${boundary}${CRLF}Content-Disposition: form-data; name="dither"${CRLF}${CRLF}${dither}${CRLF}`),
                                                      Buffer.from(`--${boundary}${CRLF}Content-Disposition: form-data; name="mac"${CRLF}${CRLF}${ePaperMAC}${CRLF}`),
                                                      Buffer.from(`--${boundary}${CRLF}Content-Disposition: form-data; name="image"; filename="screenshot.jpg"${CRLF}Content-Type: image/jpeg${CRLF}${CRLF}`),
                                                      Buffer.from(obj.result, 'binary'),
                                                      Buffer.from(`${CRLF}--${boundary}--${CRLF}`)
                                                  ]);
                                           
                                                  // URL Parsing
                                                  const url = new URL(imageUploadURL);
                                                  const options = {
                                                      hostname: url.hostname,
                                                      port: url.port || (url.protocol === 'https:' ? 443 : 80),
                                                      path: url.pathname + (url.search || ''),
                                                      method: 'POST',
                                                      headers: {
                                                          'Content-Type': 'multipart/form-data; boundary=' + boundary,
                                                          'Content-Length': payload.length
                                                      }
                                                  };
                                           
                                                  // Protokollwahl
                                                  const protocol = url.protocol === 'https:' ? https : http;
                                           
                                                  // HTTP Request
                                                  const req = protocol.request(options, function(res) {
                                                      console.log('ImageUploadStatusCode:', res.statusCode);
                                                      res.on('data', function(chunk) {
                                                          console.log('Response:', chunk.toString());
                                                      });
                                                  });
                                           
                                                  req.on('error', function(e) {
                                                      console.error('Fehler beim Hochladen:', e.message);
                                                  });
                                           
                                                  req.write(payload);
                                                  req.end();
                                              }
                                          });
                                          
                                          
                                          B Offline
                                          B Offline
                                          Beowolf
                                          schrieb am zuletzt editiert von
                                          #790

                                          @glitzi
                                          Jepp, ist so.

                                          wieder zurück auf 0.2.8 und alles ist gut.

                                          Änderung in der

                                          /opt/iobroker/node_modules/iobroker.puppeteer/build/main.js

                                          nicht vergessen.

                                          Die Natur braucht nicht unseren Schutz, sie braucht unsere Abwesenheit.

                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          580

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe