Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Tester
    4. Puppeteer: Screenshots PhantomJS Alternative

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Puppeteer: Screenshots PhantomJS Alternative

    This topic has been deleted. Only users with topic management privileges can see it.
    • arteck
      arteck Developer Most Active last edited by arteck

      ich hätte da ein Problem

      direkt frisch installiert

      f47cdb4c-6388-40f1-98e4-0d1507ccd3bf-grafik.png

      iobroker läuft in VM auf proxmox

      foxriver76 1 Reply Last reply Reply Quote 0
      • foxriver76
        foxriver76 Developer @arteck last edited by

        @arteck Bitte in Zukunft in Code Tags oder irgendeiner Form in der ich die Meldung direkt kopieren kann.

        Läuft iob in Docker?

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

          @foxriver76 so kannst du doch mehr lesen...

          host.iobroker
          2022-12-22 08:33:52.410	error	instance system.adapter.puppeteer.0 terminated with code 6 (UNCAUGHT_EXCEPTION)
          puppeteer.0
          2022-12-22 08:33:51.872	warn	Terminated (UNCAUGHT_EXCEPTION): Without reason
          puppeteer.0
          2022-12-22 08:33:51.868	error	Failed to launch the browser process![1222/083351.630700:FATAL:zygote_host_impl_linux.cc(117)] No usable sandbox! Update your kernel or see https://chromium.googlesource.com/chromium/src/+/main/docs/linux/suid_sandbox_development.md for more information on developing with the SUID sandbox. If you want to live dangerously and need an immediate workaround, you can try using --no-sandbox.#0 0x55ae0b29fb89 base::debug::CollectStackTrace()#1 0x55ae0b204433 base::debug::StackTrace::StackTrace()#2 0x55ae0b217330 logging::LogMessage::~LogMessage()#3 0x55ae091fc99b content::ZygoteHostImpl::Init()#4 0x55ae0adad372 content::ContentMainRunnerImpl::Initialize()#5 0x55ae0adab439 content::RunContentProcess()#6 0x55ae0adab58e content::ContentMain()#7 0x55ae0ae06d7a headless::(anonymous namespace)::RunContentMain()#8 0x55ae0ae06a85 headless::HeadlessShellMain()#9 0x55ae0786a3e8 ChromeMain#10 0x7f49e348409b __libc_start_main#11 0x55ae0786a22a _startTROUBLESHOOTING: https://github.com/puppeteer/puppeteer/blob/main/docs/troubleshooting.md
          puppeteer.0
          2022-12-22 08:33:51.868	error	Error: Failed to launch the browser process![1222/083351.630700:FATAL:zygote_host_impl_linux.cc(117)] No usable sandbox! Update your kernel or see https://chromium.googlesource.com/chromium/src/+/main/docs/linux/suid_sandbox_development.md for more information on developing with the SUID sandbox. If you want to live dangerously and need an immediate workaround, you can try using --no-sandbox.#0 0x55ae0b29fb89 base::debug::CollectStackTrace()#1 0x55ae0b204433 base::debug::StackTrace::StackTrace()#2 0x55ae0b217330 logging::LogMessage::~LogMessage()#3 0x55ae091fc99b content::ZygoteHostImpl::Init()#4 0x55ae0adad372 content::ContentMainRunnerImpl::Initialize()#5 0x55ae0adab439 content::RunContentProcess()#6 0x55ae0adab58e content::ContentMain()#7 0x55ae0ae06d7a headless::(anonymous namespace)::RunContentMain()#8 0x55ae0ae06a85 headless::HeadlessShellMain()#9 0x55ae0786a3e8 ChromeMain#10 0x7f49e348409b __libc_start_main#11 0x55ae0786a22a _startTROUBLESHOOTING: https://github.com/puppeteer/puppeteer/blob/main/docs/troubleshooting.md at onClose (/opt/iobroker/node_modules/puppeteer/lib/cjs/puppeteer/node/BrowserRunner.js:241:20) at Interface.<anonymous> (/opt/iobroker/node_modules/puppeteer/lib/cjs/puppeteer/node/BrowserRunner.js:231:68) at Interface.emit (node:events:525:35) at Interface.close (node:readline:590:8) at Socket.onend (node:readline:280:10) at Socket.emit (node:events:525:35) at endReadableNT (node:internal/streams/readable:1358:12) at processTicksAndRejections (node:internal/process/task_queues:83:21)
          puppeteer.0
          2022-12-22 08:33:51.867	error	unhandled promise rejection: Failed to launch the browser process![1222/083351.630700:FATAL:zygote_host_impl_linux.cc(117)] No usable sandbox! Update your kernel or see https://chromium.googlesource.com/chromium/src/+/main/docs/linux/suid_sandbox_development.md for more information on developing with the SUID sandbox. If you want to live dangerously and need an immediate workaround, you can try using --no-sandbox.#0 0x55ae0b29fb89 base::debug::CollectStackTrace()#1 0x55ae0b204433 base::debug::StackTrace::StackTrace()#2 0x55ae0b217330 logging::LogMessage::~LogMessage()#3 0x55ae091fc99b content::ZygoteHostImpl::Init()#4 0x55ae0adad372 content::ContentMainRunnerImpl::Initialize()#5 0x55ae0adab439 content::RunContentProcess()#6 0x55ae0adab58e content::ContentMain()#7 0x55ae0ae06d7a headless::(anonymous namespace)::RunContentMain()#8 0x55ae0ae06a85 headless::HeadlessShellMain()#9 0x55ae0786a3e8 ChromeMain#10 0x7f49e348409b __libc_start_main#11 0x55ae0786a22a _startTROUBLESHOOTING: https://github.com/puppeteer/puppeteer/blob/main/docs/troubleshooting.md
          puppeteer.0
          2022-12-22 08:33:51.865	error	Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch().
          host.iobroker
          2022-12-22 08:33:50.856	info	instance system.adapter.puppeteer.0 started with pid 11315
          

          debian VM in Proxmox

          foxriver76 1 Reply Last reply Reply Quote 0
          • foxriver76
            foxriver76 Developer @arteck last edited by

            @arteck sagte in Puppeteer: Screenshots PhantomJS Alternative:

            https://chromium.googlesource.com/chromium/src/+/main/docs/linux/suid_sandbox_development.md

            Welche Version von Debian?

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

              @foxriver76 buster also 10

              foxriver76 1 Reply Last reply Reply Quote 0
              • foxriver76
                foxriver76 Developer @arteck last edited by

                @arteck Okay, dann habe ich erst mal keine Idee, wie ich das allgemein fixen kann.

                Du könntest für dich speziell, diese Lösung probieren und rückmelden ob das tut: https://github.com/puppeteer/puppeteer/blob/main/docs/troubleshooting.md#recommended-enable-user-namespace-cloning

                arteck 1 Reply Last reply Reply Quote 0
                • arteck
                  arteck Developer Most Active @foxriver76 last edited by

                  @foxriver76 ich geh mal auf bullseye mal schauen dann..

                  crunchip 1 Reply Last reply Reply Quote 0
                  • crunchip
                    crunchip Forum Testing Most Active @arteck last edited by

                    @arteck sagte in Puppeteer: Screenshots PhantomJS Alternative:

                    bullseye

                    damit läufts bei mir , siehe https://forum.iobroker.net/post/812880

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

                      mit bullseye läuft der ...

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

                        @arteck sagte in Puppeteer: Screenshots PhantomJS Alternative:

                        mit bullseye läuft der ...

                        Und deswegen predige ich ja auch immer nicht an abgekündigten Versionen festzuhalten und die Kisten auf Stand zu halten. Bringt nix sich da mit obsoletem Kram zu beschäftigen.

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

                          @thomas-braun dir auch schöne Feiertage 🙂

                          1 Reply Last reply Reply Quote 1
                          • arteck
                            arteck Developer Most Active last edited by arteck

                            @foxriver76 so weiter gehts
                            e6bd6490-6cbf-4990-abca-894829a34c3c-grafik.png

                            puppeteer.0
                            2022-12-22 11:08:33.619	debug	Write file to "wetterstation.png"
                            
                            puppeteer.0
                            2022-12-22 11:08:32.470	debug	Message: {"command":"screenshot","message":{"url":"https://www.yr.no/en/forecast/graph/2-2860410/Germany/North%20Rhine-Westphalia/D%C3%BCsseldorf%20District/Oberhausen","clip":{"x":0,"y":0,"width":1000,"height":757},"ioBrokerOptions":{"storagePath":"wetterstation.png"},"viewportOptions":{"width":1600,"height":1000}},"from":"system.adapter.javascript.2","callback":{"message":{"url":"https://www.yr.no/en/forecast/graph/2-2860410/Germany/North%20Rhine-Westphalia/D%C3%BCsseldorf%20District/Oberhausen","clip":{"x":0,"y":0,"width":1000,"height":757},"ioBrokerOptions":{"storagePath":"wetterstation.png"},"viewportOptions":{"width":1600,"height":1000}},"id":1,"ack":false,"time":1671703712468},"_id":69097945}
                            javascript.2
                            2022-12-22 11:14:19.409	info	script.js.80_system.wetter: Sucessfully took screenshot: �PNG   IHDR��T��sRGB��� IDATx���wTW�g�� MT�bD��bCE콠1�X�+ػb7{7�`�b�(��^������0�� ����w�Gv��̝;w޹edB"""""""�S��1@'""""""� Љ�������t"""""""-��������H0@'""""""�Љ�������t"""""""-��������H0@'""""""�Љ�������t"""""""-��������H0@'""""""�Љ�������t"""""""-��������H0@'""""""�Љ�������t"""""""-��������H0@'""""""�Љ�������t"""""""-��������H0@'""""""�Љ��.........
                            

                            sieht eigentlich gut aus..ich hab das binary gekürzt..

                            aber kein file und die datenpunkte sind auch nicht gefüllt

                            sendTo('puppeteer.0', 'screenshot', { 
                                    url: 'https://www.yr.no/en/forecast/graph/2-2860410/Germany/North%20Rhine-Westphalia/D%C3%BCsseldorf%20District/Oberhausen',
                                    clip: {
                                        x: 0,
                                        y: 0,
                                        width: 1000,
                                        height: 757
                                    },
                                    ioBrokerOptions: {
                                        storagePath: 'wetterstation.png',
                                    },
                                    viewportOptions: {
                                        width: 1600,
                                        height: 1000
                                    }
                                }, obj => {
                                  if (obj.error) {
                                    log(`Error taking screenshot: ${obj.error.message}`, 'error');
                                  } else {
                                    // the binary representation of the image is contained in `obj.result`
                                    log(`Sucessfully took screenshot: ${obj.result}`);
                                  }
                            });
                            

                            so rufe ich es auf ..sollte also in /opt/iobroker/iobroker-data/files/0_userdata.0 landen..ist aber nix da

                            foxriver76 1 Reply Last reply Reply Quote 0
                            • foxriver76
                              foxriver76 Developer @arteck last edited by foxriver76

                              @arteck Siehe:

                              https://github.com/foxriver76/ioBroker.puppeteer#how-to

                              States dienen nur der Konfiguration, falls du via States (sprich das setzen der url) einen Screenshot erstellen möchtest. Wenn du ausschließlich Messages nutzt können dir die States egal sein.

                              Nutzt du eine Redis DB für die Objekte?

                              arteck 1 Reply Last reply Reply Quote 0
                              • arteck
                                arteck Developer Most Active @foxriver76 last edited by

                                @foxriver76 jo Redis

                                ich wollte mir nur ein Bild des meteogramms machen und in die Vis pressen

                                foxriver76 1 Reply Last reply Reply Quote 0
                                • foxriver76
                                  foxriver76 Developer @arteck last edited by

                                  @arteck Wenn Objekte in Redis, dann werden Dateien nicht raw auf dem FS abgespeichert, unabhängig vom Adapter. Du solltest diese z. B. im Admin in Dateien unter Benutzerdaten finden.

                                  arteck foxriver76 2 Replies Last reply Reply Quote 0
                                  • arteck
                                    arteck Developer Most Active @foxriver76 last edited by

                                    @foxriver76 recht hast du ja

                                    da wo man es hinschiebt ist es auch
                                    20aa4f16-ff00-4f1c-9b61-1722141414ad-grafik.png

                                    1 Reply Last reply Reply Quote 0
                                    • foxriver76
                                      foxriver76 Developer @foxriver76 last edited by

                                      @foxriver76 Falls du es auf dem FS haben möchtest, kannst du die Option path auf Top Level mitgeben. Ist dann Puppeteer intern abgehandelt: https://pptr.dev/api/puppeteer.screenshotoptions.path

                                      arteck 1 Reply Last reply Reply Quote 0
                                      • arteck
                                        arteck Developer Most Active @foxriver76 last edited by arteck

                                        @foxriver76 ok

                                        aber verstehe jetzt nicht die Nutzung der Datenpunkte ??

                                        wenn ich alle 60 min ein bild haben will.. was nutz ich da.. stehe bissel auf dem Schlauch

                                        foxriver76 2 Replies Last reply Reply Quote 0
                                        • foxriver76
                                          foxriver76 Developer @arteck last edited by

                                          @arteck Wenn du nicht so der "Skript Typ" bist, kannst du einige der oft genutzten Optionen direkt über die Datenpunkte festlegen und dann schreibst du eine url in den url state und ein Screenshot wird erstellt. Das ist etwas angelehnt an die Logik vom Phantom.JS Adapter, soweit ich mich erinnere.

                                          Mit sendTo hast du deutlich mehr Optionen zur Verfügung und bekommst z. B. auch das Bild direkt im Callback falls du es codetechnsich weiterverarbeiten möchtest.

                                          1 Reply Last reply Reply Quote 0
                                          • foxriver76
                                            foxriver76 Developer @arteck last edited by

                                            @arteck Es gibt keine Option, das regelmäßig festzulegen.

                                            Sprich du würdest dein Code (entweder setState auf den url State oder dein sendTo) in einen schedule packen der jede Minute triggered oder im Callback von der Funktion die Funktion mit setTimeout in 60 Sekunden erneut aufrufen

                                            arteck 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            560
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            browser headless phantomjs puppeteer screenshot screenshots website
                                            23
                                            245
                                            25493
                                            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