Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Puppeteer Adapter

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Puppeteer Adapter

    This topic has been deleted. Only users with topic management privileges can see it.
    • OliverIO
      OliverIO @Jensen last edited by OliverIO

      @jensen

      hm, der konkrete fehler ist der

      7083 verbose stack Error: EBUSY: resource busy or locked, rename 'C:\ioBroker\node_modules\iobroker.admin' -> 'C:\ioBroker\node_modules\.iobroker.admin-GBn0lhRQ'
      

      da wird versucht das verzeichnis umzubenennen. jetzt bin ich nicht firm im detailprozess der adapter installation. umgehen kannst du das, indem du den iobroker stoppst, prüfst ob iobroker wirklich beendet ist und dann von der kommandozeile aus installierst.
      ich hab mal noch das fix kommando hinzugefügt, das prüft deine installation ob die richtigen berechtigungen überall gesetzt sind.
      durch deine wilden npm befehle hast du sicherlich auch mal mit sudo gearbeitet, weil linux wegen berechtigung gemeckert hat?

      iobroker stop
      iobroker fix
      iobroker isrun
      iobroker install iobroker.puppeteer
      iobroker start
      

      der adapter ist dann installiert, eine neue instanz musst du dann noch selbst von der adapterseite aus erzeugen

      Jensen 1 Reply Last reply Reply Quote 0
      • Jensen
        Jensen @OliverIO last edited by

        @oliverio
        Ist ein Windows System, nix sudo.
        Die Variante mit Anhalten des Systems habe ich ja bereits mehrmals gemacht.
        Ich würde gerne erst mal klären, warum sich der Adapter nicht mit laufendem System installieren läßt, ich denke, das ist nicht normal.
        Es sei denn, jemand kann erklären, warum das so ist.
        Ein iob fix kann ich aber morgen mal machen, mal sehen, was da so passiert.
        Und falls jemand erklären kann, ob die vielen Meldungen im npm Log so ihre Richtigkeit haben, das wäre auch eine prima Sache.

        OliverIO 1 Reply Last reply Reply Quote 0
        • OliverIO
          OliverIO @Jensen last edited by

          @jensen

          Im npm log wird detailliert berichtet was
          Alles bei der Installation gemacht wird.
          Von daher erstmal alles ok, bis auf die eine Fehlermeldung

          Das ebusy sagt das ein Prozess aktuell in diesem Verzeichnis läuft und daher das umbenennen der Verzeichnisses nicht funktioniert.
          Daher iobroker stoppen.

          Das sollte normalerweise schon funktionieren.
          Deine Installation hat wahrscheinlich schon einen hau.
          Besser wäre es schon alles komplett neu zu installieren.
          Die Abfolge ist um aktuell weiterzukommen

          Jensen 1 Reply Last reply Reply Quote 0
          • Jensen
            Jensen @OliverIO last edited by Jensen

            @oliverio
            Ok, dann mal mit stoppen

            c:\ioBroker>npm install iobroker.puppeteer
            npm warn deprecated dgram@1.0.1: npm is holding this package for security reasons. As it's a core Node module, we will not transfer it over to other users. You may safely remove the package from your dependencies.
            npm warn deprecated @npmcli/move-file@1.1.2: This functionality has been moved to @npmcli/fs
            npm warn deprecated inflight@1.0.6: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
            npm warn deprecated npmlog@5.0.1: This package is no longer supported.
            npm warn deprecated npmlog@6.0.2: This package is no longer supported.
            npm warn deprecated rimraf@3.0.2: Rimraf versions prior to v4 are no longer supported
            npm warn deprecated har-validator@5.1.5: this library is no longer supported
            npm warn deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
            npm warn deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
            npm warn deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
            npm warn deprecated glob@8.1.0: Glob versions prior to v9 are no longer supported
            npm warn deprecated abab@2.0.6: Use your platform's native atob() and btoa() methods instead
            npm warn deprecated are-we-there-yet@2.0.0: This package is no longer supported.
            npm warn deprecated are-we-there-yet@3.0.1: This package is no longer supported.
            npm warn deprecated node-inspect@2.0.0: This module is part of Node.js core and does not need to be installed separately. It is now unmaintained.
            npm warn deprecated debug@4.1.1: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (github.com/visionmedia/debug/issues/797)
            npm warn deprecated debug@4.1.1: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (github.com/visionmedia/debug/issues/797)
            npm warn deprecated debug@4.1.1: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (github.com/visionmedia/debug/issues/797)
            npm warn deprecated domexception@4.0.0: Use your platform's native DOMException instead
            npm warn deprecated phantomjs-prebuilt@2.1.16: this package is now deprecated
            npm warn deprecated gauge@4.0.4: This package is no longer supported.
            npm warn deprecated gauge@3.0.2: This package is no longer supported.
            npm warn deprecated uuid@3.4.0: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See v8.dev/blog/math-random for details.
            npm warn deprecated request@2.88.2: request has been deprecated, see github.com/request/request/issues/3142
            npm warn deprecated sinon@15.2.0: 16.1.1
            
            added 64 packages, removed 2 packages, changed 1295 packages, and audited 1361 packages in 3m
            
            170 packages are looking for funding
              run `npm fund` for details
            
            57 vulnerabilities (6 low, 30 moderate, 20 high, 1 critical)
            
            To address issues that do not require attention, run:
              npm audit fix
            
            To address all issues possible (including breaking changes), run:
              npm audit fix --force
            
            Some issues need review, and may require choosing
            a different dependency.
            
            Run `npm audit` for details.
            

            jetzt sieht das wieder so aus

            c:\ioBroker>npm ls puppeteer
            iobroker.inst@3.0.0 c:\ioBroker
            `-- iobroker.puppeteer@0.3.0
              `-- puppeteer@22.15.0
            

            Bei dem Versuch, über die Adapterseite eine Instanz zu erzeugen, kommt dann das

            $ iobroker add puppeteer auto --host IpsServerWB --debug
            
            node:internal/modules/cjs/loader:1225 const err = new Error(message); ^ Error: Cannot find module 'C:\ioBroker\node_modules\deep-clone\index.js' at Module._resolveFilename (node:internal/modules/cjs/loader:1225:15) at Module._load (node:internal/modules/cjs/loader:1051:27) at cjsLoader (node:internal/modules/esm/translators:346:17) at ModuleWrap.<anonymous> (node:internal/modules/esm/translators:286:7) at ModuleJob.run (node:internal/modules/esm/module_job:234:25) at async ModuleLoader.import (node:internal/modules/esm/loader:473:24) { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v20.17.0
            
            ERROR: Process exited with code 1
            

            Ich glaube, das ist alles zwecklos.
            Eine Neuinstallation muß her.

            Jensen OliverIO 2 Replies Last reply Reply Quote 0
            • Jensen
              Jensen @Jensen last edited by

              Ich habe also den Puppeteer Adapter über die Console wieder deinstalliert.
              Bei der Vorbereitung einer Neuinstallation wollte ich alle Scripte exportieren, da kommt dann sowas:

              d07e0f50-0618-4e0a-921c-36129c616016-grafik.png

              Jensen 1 Reply Last reply Reply Quote 0
              • Jensen
                Jensen @Jensen last edited by Jensen

                iob fix

                c:\ioBroker>iob fix
                Need to install the following packages:
                @iobroker/fix@6.0.1
                Ok to proceed? (y) y
                
                Windows installation starting... (fixing = true)
                NPM version: 10.8.3
                No path given, using c:\ioBroker\iobroker-data
                Compressing c:\ioBroker\iobroker-data\states.jsonl
                Cannot compress states.jsonl: Error: Failed to lock DB file "c:\ioBroker\iobroker-data\states.jsonl"!
                    at JsonlDB.open (C:\Users\IpsJensen\AppData\Local\npm-cache\_npx\36bee06d4228a674\node_modules\@alcalzone\jsonl-db\build\lib\db.js:185:19)
                    at async compressDB (C:\Users\IpsJensen\AppData\Local\npm-cache\_npx\36bee06d4228a674\node_modules\@iobroker\jsonltool\index.js:37:9)
                    at async main (C:\Users\IpsJensen\AppData\Local\npm-cache\_npx\36bee06d4228a674\node_modules\@iobroker\jsonltool\index.js:78:17)
                Compressing c:\ioBroker\iobroker-data\objects.jsonl
                Cannot compress objects.jsonl: Error: Failed to lock DB file "c:\ioBroker\iobroker-data\objects.jsonl"!
                    at JsonlDB.open (C:\Users\IpsJensen\AppData\Local\npm-cache\_npx\36bee06d4228a674\node_modules\@alcalzone\jsonl-db\build\lib\db.js:185:19)
                    at async compressDB (C:\Users\IpsJensen\AppData\Local\npm-cache\_npx\36bee06d4228a674\node_modules\@iobroker\jsonltool\index.js:37:9)
                    at async main (C:\Users\IpsJensen\AppData\Local\npm-cache\_npx\36bee06d4228a674\node_modules\@iobroker\jsonltool\index.js:93:17)
                No relevant JSONL files found to compress, skip
                NPM version: 10.8.3
                Write "iobroker start" to start the ioBroker
                npm install dotenv@^16.4.5 --force --loglevel error --production --save --prefix "c:/ioBroker"
                npm error code EBUSY
                npm error syscall rename
                npm error path c:\ioBroker\node_modules\iobroker.admin
                npm error dest c:\ioBroker\node_modules\.iobroker.admin-FjHuUvU7
                npm error errno -4082
                npm error EBUSY: resource busy or locked, rename 'c:\ioBroker\node_modules\iobroker.admin' -> 'c:\ioBroker\node_modules\.iobroker.admin-FjHuUvU7'
                npm error A complete log of this run can be found in: C:\Users\IpsJensen\AppData\Local\npm-cache\_logs\2024-09-07T06_21_00_662Z-debug-0.log
                Error when installing dotenv Library: Error: Command failed: npm install dotenv@^16.4.5 --force --loglevel error --production --save --prefix "c:/ioBroker"
                

                sieht auch nicht berauschend aus

                Jensen 1 Reply Last reply Reply Quote 0
                • Jensen
                  Jensen @Jensen last edited by

                  Und was mir noch auffällt, ich habe kein admin.0, sondern nur ein admin.1
                  Das ist doch auch nicht normal, oder?

                  Jensen 1 Reply Last reply Reply Quote 0
                  • Jensen
                    Jensen @Jensen last edited by

                    Nach Einrichten der Istanz admin.0 und Löschen von admin.1 kann ich die Skripte jetzt wieder problemlos exportieren.

                    1 Reply Last reply Reply Quote 0
                    • OliverIO
                      OliverIO @Jensen last edited by

                      @jensen
                      Schon seltsam.
                      Er meckert das ein bestimmtes Modul nicht gefunden worden ist.
                      Neuinstallation macht Sinn. Es sind Zuviel kleinklein Probleme
                      Und ob das dann später noch stabil läuft ist auch keine Garantie.
                      Was für Hardware und Festplatte hast du im Einsatz?

                      Jensen 1 Reply Last reply Reply Quote 0
                      • Jensen
                        Jensen @OliverIO last edited by

                        @oliverio
                        NUC i5 mit SSD

                        OliverIO 1 Reply Last reply Reply Quote 0
                        • OliverIO
                          OliverIO @Jensen last edited by

                          @jensen
                          Ne dann ist es eher unwahrscheinlich das die Platte was hat

                          Jensen 1 Reply Last reply Reply Quote 0
                          • Jensen
                            Jensen @OliverIO last edited by

                            @oliverio
                            So, ich habe den Sonntag für eine Neuinstallation genutzt.
                            ioBroker neu installiert, die Basics eingerichtet, dann ein Restore, dann hier und da ein wenig geradeziehen, alles halbwegs stressfrei.
                            Als dann alles wieder lief und ich keine Probleme mehr sehen konnte, wieder den Puppeteer Adapter installiert, direkt von der Adapterseite, alles problemlos und ohne Fehlermeldungen.
                            Insofern hat die Neuinstallation schon mal was gebracht.

                            Leider kann ich aber immer noch keine Bilder erzeugen.
                            Der Adapter liefert folgende Fehlermeldung:

                            • bei den Flot Charts
                            Could not take screenshot of "http://localhost:8082/flot/index.html?timeType=static&relativeEnd=now&range=10&aggregateType=count&aggregateSpan=300&hoverDetail=false&useComma=false&zoom=false&noedit=true&animation=0&l%5B0%5D%5Bid%5D=javascript.0.Haus.Verbrauch&l%5B0%5D%5Binstance%5D=sql.0&l%5B0%5D%5Boffset%5D=0&l%5B0%5D%5Baggregate%5D=minmax&l%5B0%5D%5Bcolor%5D=%23FF0000&l%5B0%5D%5Bmin%5D=0&l%5B0%5D%5Bmax%5D=6&l%5B0%5D%5Bthickness%5D=1&l%5B0%5D%5Bshadowsize%5D=0&l%5B0%5D%5BafterComma%5D=2&l%5B0%5D%5Bdashes%5D=false&l%5B0%5D%5BdashLength%5D=10&l%5B0%5D%5BspaceLength%5D=10&l%5B1%5D%5Bid%5D=javascript.0.Haus.Einspeisung&l%5B1%5D%5Binstance%5D=sql.0&l%5B1%5D%5Boffset%5D=0&l%5B1%5D%5Baggregate%5D=minmax&l%5B1%5D%5Bcolor%5D=%2300FF00&l%5B1%5D%5Bthickness%5D=1&l%5B1%5D%5Bshadowsize%5D=0&l%5B1%5D%5Byaxe%5D=off&l%5B1%5D%5Bxaxe%5D=off&l%5B1%5D%5BcommonYAxis%5D=1&l%5B1%5D%5BafterComma%5D=2&l%5B1%5D%5Bdashes%5D=false&l%5B1%5D%5BdashLength%5D=10&l%5B1%5D%5BspaceLength%5D=10&l%5B2%5D%5Bid%5D=javascript.0.PV.TriPower.PV-Leistung_kW&l%5B2%5D%5Binstance%5D=sql.0&l%5B2%5D%5Boffset%5D=0&l%5B2%5D%5Baggregate%5D=minmax&l%5B2%5D%5Bcolor%5D=%23ffc300&l%5B2%5D%5Bthickness%5D=1&l%5B2%5D%5Bshadowsize%5D=0&l%5B2%5D%5Byaxe%5D=off&l%5B2%5D%5Bxaxe%5D=off&l%5B2%5D%5BcommonYAxis%5D=1&l%5B2%5D%5BafterComma%5D=2&l%5B2%5D%5Bdashes%5D=false&l%5B2%5D%5BdashLength%5D=10&l%5B2%5D%5BspaceLength%5D=10&l%5B3%5D%5Bid%5D=modbus.1.inputRegisters.13350_TO_TotalDemand&l%5B3%5D%5Binstance%5D=sql.0&l%5B3%5D%5Boffset%5D=0&l%5B3%5D%5Baggregate%5D=minmax&l%5B3%5D%5Bcolor%5D=%2352a0ff&l%5B3%5D%5Bthickness%5D=1&l%5B3%5D%5Bshadowsize%5D=0&l%5B3%5D%5Bname%5D=PV+Demand&l%5B3%5D%5Byaxe%5D=off&l%5B3%5D%5Bxaxe%5D=off&l%5B3%5D%5BcommonYAxis%5D=1&l%5B3%5D%5BignoreNull%5D=&l%5B3%5D%5BafterComma%5D=2&l%5B3%5D%5Bdashes%5D=false&l%5B3%5D%5BdashLength%5D=10&l%5B3%5D%5BspaceLength%5D=10&l%5B4%5D%5Bid%5D=modbus.1.coils.12310_PV_Freigabe&l%5B4%5D%5Binstance%5D=sql.0&l%5B4%5D%5Boffset%5D=0&l%5B4%5D%5Baggregate%5D=minmax&l%5B4%5D%5Bcolor%5D=%23FF00FF&l%5B4%5D%5Bmin%5D=-15&l%5B4%5D%5Bmax%5D=5&l%5B4%5D%5Bthickness%5D=1&l%5B4%5D%5Bshadowsize%5D=0&l%5B4%5D%5Bname%5D=PV+Freigabe&l%5B4%5D%5BignoreNull%5D=&l%5B4%5D%5BafterComma%5D=2&l%5B4%5D%5Bdashes%5D=false&l%5B4%5D%5BdashLength%5D=10&l%5B4%5D%5BspaceLength%5D=10&l%5B4%5D%5Byaxe%5D=off&l%5B4%5D%5Bxaxe%5D=off&start=2024-09-07&start_time=06:00:00&end=2024-09-08&end_time=20:00:00&width=700&height=300&legend=nw&legColumns=5&legBgOpacity=0&timeFormat=%25H%3A%25M": net::ERR_ABORTED at http://localhost:8082/flot/index.html?timeType=static&relativeEnd=now&range=10&aggregateType=count&aggregateSpan=300&hoverDetail=false&useComma=false&zoom=false&noedit=true&animation=0&l%5B0%5D%5Bid%5D=javascript.0.Haus.Verbrauch&l%5B0%5D%5Binstance%5D=sql.0&l%5B0%5D%5Boffset%5D=0&l%5B0%5D%5Baggregate%5D=minmax&l%5B0%5D%5Bcolor%5D=%23FF0000&l%5B0%5D%5Bmin%5D=0&l%5B0%5D%5Bmax%5D=6&l%5B0%5D%5Bthickness%5D=1&l%5B0%5D%5Bshadowsize%5D=0&l%5B0%5D%5BafterComma%5D=2&l%5B0%5D%5Bdashes%5D=false&l%5B0%5D%5BdashLength%5D=10&l%5B0%5D%5BspaceLength%5D=10&l%5B1%5D%5Bid%5D=javascript.0.Haus.Einspeisung&l%5B1%5D%5Binstance%5D=sql.0&l%5B1%5D%5Boffset%5D=0&l%5B1%5D%5Baggregate%5D=minmax&l%5B1%5D%5Bcolor%5D=%2300FF00&l%5B1%5D%5Bthickness%5D=1&l%5B1%5D%5Bshadowsize%5D=0&l%5B1%5D%5Byaxe%5D=off&l%5B1%5D%5Bxaxe%5D=off&l%5B1%5D%5BcommonYAxis%5D=1&l%5B1%5D%5BafterComma%5D=2&l%5B1%5D%5Bdashes%5D=false&l%5B1%5D%5BdashLength%5D=10&l%5B1%5D%5BspaceLength%5D=10&l%5B2%5D%5Bid%5D=javascript.0.PV.TriPower.PV-Leistung_kW&l%5B2%5D%5Binstance%5D=sql.0&l%5B2%5D%5Boffset%5D=0&l%5B2%5D%5Baggregate%5D=minmax&l%5B2%5D%5Bcolor%5D=%23ffc300&l%5B2%5D%5Bthickness%5D=1&l%5B2%5D%5Bshadowsize%5D=0&l%5B2%5D%5Byaxe%5D=off&l%5B2%5D%5Bxaxe%5D=off&l%5B2%5D%5BcommonYAxis%5D=1&l%5B2%5D%5BafterComma%5D=2&l%5B2%5D%5Bdashes%5D=false&l%5B2%5D%5BdashLength%5D=10&l%5B2%5D%5BspaceLength%5D=10&l%5B3%5D%5Bid%5D=modbus.1.inputRegisters.13350_TO_TotalDemand&l%5B3%5D%5Binstance%5D=sql.0&l%5B3%5D%5Boffset%5D=0&l%5B3%5D%5Baggregate%5D=minmax&l%5B3%5D%5Bcolor%5D=%2352a0ff&l%5B3%5D%5Bthickness%5D=1&l%5B3%5D%5Bshadowsize%5D=0&l%5B3%5D%5Bname%5D=PV+Demand&l%5B3%5D%5Byaxe%5D=off&l%5B3%5D%5Bxaxe%5D=off&l%5B3%5D%5BcommonYAxis%5D=1&l%5B3%5D%5BignoreNull%5D=&l%5B3%5D%5BafterComma%5D=2&l%5B3%5D%5Bdashes%5D=false&l%5B3%5D%5BdashLength%5D=10&l%5B3%5D%5BspaceLength%5D=10&l%5B4%5D%5Bid%5D=modbus.1.coils.12310_PV_Freigabe&l%5B4%5D%5Binstance%5D=sql.0&l%5B4%5D%5Boffset%5D=0&l%5B4%5D%5Baggregate%5D=minmax&l%5B4%5D%5Bcolor%5D=%23FF00FF&l%5B4%5D%5Bmin%5D=-15&l%5B4%5D%5Bmax%5D=5&l%5B4%5D%5Bthickness%5D=1&l%5B4%5D%5Bshadowsize%5D=0&l%5B4%5D%5Bname%5D=PV+Freigabe&l%5B4%5D%5BignoreNull%5D=&l%5B4%5D%5BafterComma%5D=2&l%5B4%5D%5Bdashes%5D=false&l%5B4%5D%5BdashLength%5D=10&l%5B4%5D%5BspaceLength%5D=10&l%5B4%5D%5Byaxe%5D=off&l%5B4%5D%5Bxaxe%5D=off&start=2024-09-07&start_time=06:00:00&end=2024-09-08&end_time=20:00:00&width=700&height=300&legend=nw&legColumns=5&legBgOpacity=0&timeFormat=%25H%3A%25M
                            

                            und bei meiner Wetter Seite

                            Could not take screenshot of "file:///C:/ioBroker/images/msnweather1.html": Navigation timeout of 30000 ms exceeded
                            

                            In beiden Fällen kann ich die URL im Browser aufrufen und bekomme angezeigt, was ich erwarte.
                            Da ich nichts an meinen Scripten geändert habe, und beide Fälle für die ich den Puppeteer Adapter monatelang benutzt habe nun nicht mehr funktionieren, denke ich, das muß mit irgendeinem Update zu tun haben. Aber ich finde keinen Ansatz, wo ich nun wieder suchen könnte.

                            OliverIO 1 Reply Last reply Reply Quote 0
                            • OliverIO
                              OliverIO @Jensen last edited by

                              @jensen
                              Kannst du mir mal komplette Beispiele geben?
                              Verwendest du sendto oder die datenpunkte?
                              Ich versuche das mal nachzustellen

                              Jensen 1 Reply Last reply Reply Quote 0
                              • Jensen
                                Jensen @OliverIO last edited by

                                @oliverio
                                Ich benutze sendto, im Groben sieht das bei mir so aus :

                                function createImage(_output, _url) {
                                    //log(_url);
                                    log('try to create : ' + _output);
                                    sendTo('puppeteer.0', 'screenshot', { 
                                        url: _url,
                                        path: '../../images/' + _output,
                                        viewportOptions: {
                                            width: 700,
                                            height: 300
                                        },
                                        renderTime: 20000
                                    },
                                    obj => {
                                      if (obj.error) {
                                        log('Error taking screenshot: ${obj.error.message}', 'error');
                                      } 
                                    });    
                                }
                                
                                
                                // PV heute
                                var url01 = 'http://localhost:8082/flot/ .........';
                                createImage('img01.png', url01);
                                
                                

                                Die Url müßtest du durch was Brauchbares auf deinem System ersetzen.

                                Ich glaube aber, das Problem steckt tiefer, entweder in der verwendeten Puppeteer Version oder eher in der darunterliegenden chrome Version.

                                Ich finde auf meinem System schon wieder so viele verschiedene Versionen von chrome, das verwirrt mich.
                                Unter C:\Windows\System32\config\systemprofile.cache\puppeteer\chrome
                                99012d62-e1dd-4889-abea-3b7e8ea4a0d1-grafik.png
                                Im Benutzer Verzeichnis C:\Users\IpsJensen.cache\puppeteer\chrome
                                6571380e-14a5-4e72-b5ba-f7706474e16b-grafik.png

                                Wie sind da die Zusammenhänge?
                                Wer installiert was wann wo, und wo wird entschieden, was benutzt wird?

                                Jensen OliverIO 3 Replies Last reply Reply Quote 0
                                • Jensen
                                  Jensen @Jensen last edited by

                                  @foxriver76
                                  Könntest Du vielleicht einem Ahnungslosen etwas weiter helfen?
                                  Ich weiß hier einfach nicht weiter.

                                  1 Reply Last reply Reply Quote 0
                                  • OliverIO
                                    OliverIO @Jensen last edited by

                                    @jensen

                                    Der Adapter nutzt eigentlich nur das folgende package.
                                    Dies sorgt sich um das herunterladen und das richtige ansprechen des Browsers.

                                    https://www.npmjs.com/package/puppeteer

                                    Hauptanwendungszweck dieses Pakets ist automatisierter Tests von webanwendungen.
                                    Dazu wird meist die applikation in einer gekapselten virtuellen Umgebung (meist sowas wie docker) installiert, die Tests ausgeführt und am Ende die komplette Umgebung wieder weggeworfen.
                                    Andere anwendungsfälle sind webscraping oder sowas wie hier, was aber wahrscheinlich bei weitem nicht so oft in der Welt angewendet wird.

                                    Das deinstallieren von Browsern wurde erst letztes Jahr hinzugefügt
                                    https://github.com/puppeteer/puppeteer/pull/10179
                                    Ob das im Adapter berücksichtigt ist weiß ich nicht.

                                    Die Ursache deiner Fehler kann vielfältig sein.
                                    Bei flot stand im Ergebnis ein net_err drin. Das deutet darauf hin, das irgendwas mit der netzverbindung nicht passt. Aber auch hier kann es vielfältig sein. Am wahrscheinlichsten sind timeouts, aber daher wollte ich das mal für mich selbst probieren um das einzugrenzen.

                                    Bei deinem msnwetter kann es sein, das der Anbieter Begrenzungen eingebaut hat, die ein automatisiertes Abrufen verhindert. Ich selbst bin im Zusammenhang einer nieten Fragestellung letztens auch auf sowas gestoßen, das der Abruf im Browser funktioniert, mit puppeteer aber nicht. Wie die verhinderungsstrategie funktioniert weiß ich aktuell nicht.

                                    Also ichdenke nicht das der Fehler aktuell noch an puppeteer liegt

                                    OrKoN created this issue in puppeteer/puppeteer

                                    closed feat: add ability to uninstall a browser #10179

                                    1 Reply Last reply Reply Quote 0
                                    • OliverIO
                                      OliverIO @Jensen last edited by OliverIO

                                      @jensen sagte in Puppeteer Adapter:

                                      also flot funktioniert bei mir
                                      ae0420c5-9870-4e11-accf-91c26daa97b3-image.png

                                      msn weather eigentlich auch, allerdings erhalte ich mit puppeteer nur die folgende seite
                                      fde6e2e4-275b-434f-a049-b531a4f4f3e8-image.png

                                      link ist
                                      https://www.msn.com/en-us/weather/forecast/in-Frankfurt,Hesse

                                      aufgrund des net_err vermute ich, das irgendwas mit dem abruf der daten von deinem nuc nicht passt.
                                      probiere es mal direkt von dort mit curl

                                      um im script eine bessere fehlermeldung zu erhalten ändere mal die zeile zu.
                                      da waren die falschen anfürhungszeichen drin und message ist da auch nicht vorhanden.
                                      ich frage mich wie du die fehlermeldung weiter oben produzieren konntest?

                                              log(`Error taking screenshot: ${obj.error}`, 'error');
                                      

                                      wenn der timeout von puppeteer nicht reicht, dann solltest du die folgende option einbauen

                                      waitForTimeout

                                          sendTo('puppeteer.0', 'screenshot', { 
                                              url: _url,
                                              path: '../../images/' + _output,
                                              viewportOptions: {
                                                  width: 700,
                                                  height: 300
                                              },
                                            renderTime: 20000,
                                            waitOption: {
                                              waitForTimeout: 20000,
                                            },        
                                      

                                      der generelle timeout ist auf 5 sekunden eingestellt, was eigentlich reichen sollte.

                                      überprüfe auch mal noch deinen bilderpfad, ob der existiert.
                                      evtl mal ohne pfad nur mit img.png eintragen, dann findest du das bild unter /opt/iobroker/ioberoker-data

                                      1 Reply Last reply Reply Quote 0
                                      • Jensen
                                        Jensen last edited by Jensen

                                        @oliverio
                                        Für msnweather brauchst du die von mir geparste Datei.
                                        msnweather1.html
                                        (Bitte nicht an den komischen Zeichen vor dem °C stören, das ist ein anderes Thema.

                                        Was ist der Unterschied bei diesen verschiedenen Apostrophen?
                                        Ich habe meine Log Zeile geändert.
                                        Die waitOption habe ich auch dazu gebaut.

                                        Ergebnis:

                                        javascript.0
                                           2024-09-09 15:48:27.524	error	script.js.test.PuppeteerSample3: Error taking screenshot: timeout
                                        javascript.0
                                           2024-09-09 15:48:07.516	info	script.js.test.PuppeteerSample3: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                                        javascript.0
                                           2024-09-09 15:48:07.516	info	script.js.test.PuppeteerSample3: try to create : msnweather1.png
                                        javascript.0
                                           2024-09-09 15:48:07.516	info	script.js.test.PuppeteerSample3: file:///C:/ioBroker/images/msnweather1.html
                                        javascript.0
                                           2024-09-09 15:48:07.495	info	Start JavaScript script.js.test.PuppeteerSample3 (Javascript/js) 
                                        

                                        Interessant ist, ich habe waitOption auf 60000, renderTime auf 30000, aber der timeout kommt nach 20000.

                                        Jensen 1 Reply Last reply Reply Quote 0
                                        • Jensen
                                          Jensen @Jensen last edited by

                                          Ohne Pfad bringt auch keine Änderung.

                                          OliverIO 1 Reply Last reply Reply Quote 0
                                          • OliverIO
                                            OliverIO @Jensen last edited by

                                            @jensen

                                            Was sagt curl?

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            606
                                            Online

                                            31.9k
                                            Users

                                            80.2k
                                            Topics

                                            1.3m
                                            Posts

                                            7
                                            75
                                            3900
                                            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