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.
    • Jensen
      Jensen @OliverIO last edited by

      @oliverio
      In der Adapteransicht wird er auch nicht mehr als installiert gelistet, sieht alles sehr gut aus.
      Ich lasse es bis morgen ruhen, damit heute Nacht erst mal das Backup durchläuft.
      Dann ein neuer Versuch, ohne npm 🙂

      Danke für die Hilfe und die Geduld mit mir.

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

        Wie versprochen werde ich jetzt alle Schritte dokumentieren, die ich unternehme um den Puppeteer Adapter wieder ins System zu bringen.

        Adapter installieren
        Eigentlich denke ich, man sollte über die Adapterseite jeden Adapter bei laufendem System installieren können. Der Versuch, den Puppeteer Adapter zu installieren gibt mir folgende Rückmeldung:

        $ iobroker add puppeteer auto --host IpsServerWB --debug
        NPM version: 10.8.2
        Installing iobroker.puppeteer@0.3.0... (System call)
        npm error code EBUSY
        npm error A complete log of this run can be found in: C:\WINDOWS\system32\config\systemprofile\AppData\Local\npm-cache\_logs\2024-09-06T05_46_44_817Z-debug-0.log
        host.IpsServerWB Cannot install iobroker.puppeteer@0.3.0: 4294963214
        ERROR: Process exited with code 25
        

        Der komplette Log umfasst über 8000 Zeilen, ich hänge ihn hier als Datei ran.
        2024-09-06T05_46_44_817Z-debug-0.log

        Wenn ich mir die Log Datei anschaue, dann verstehe ich meistens nur Bahnhof, aber irgendwie beschleicht mich das Gefühl, an meinem System ist immer noch was im Argen.

        OliverIO 1 Reply Last reply Reply Quote 0
        • 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
                                            • First post
                                              Last post

                                            Support us

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

                                            419
                                            Online

                                            31.9k
                                            Users

                                            80.2k
                                            Topics

                                            1.3m
                                            Posts

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