NEWS
Test Adapter Garmin
-
Okay. Dann bist du forsch unterwegs.
-
18 ist ja active lts würde ich nicht als forsch bezeichnen.
Außerdem benötigt der Adapter ein fix im http layer. Es kann vielleicht sein das Nodejs 18 nicht korrekt installiert ist. Macht also Sinn das magische Abfrage Kommando abzufragen. -
@tombox sagte in Test Adapter Garmin:
18 ist ja current lts würde ich nicht als forsch bezeichnen.
Recommended aus Sicht von ioBroker ist halt node@16.
Hatte nicht gesehen, dass der Adapter nach 18 verlangt.Außerdem benötigt der Adapter ein fix im http layer.
nodeJS>16 macht im network stack (insbesondere im Hinblick auf IPv4/IPv6) einiges anders.
-
@thomas-braun
Hab jetzt noch auf den neuesten 18 aktualisiert und bekomme nun zusätzlich die folgende Meldung:error TypeError: Cannot read properties of undefined (reading 'split')
error Failed ticket please check username and password
info Login to Garmin
info starting. Version 0.0.1 (non-npm: TA2k/ioBroker.garmin#984658d0f0fe48beccd9bdc4906cb543e5784bd4) in /opt/iobroker/node_modules/iobroker.garmin, node: v18.12.1, js-controller: 4.0.23 -
@johannes2704
kannst du dich hier einloggen?
https://sso.garmin.com/sso/signin?service=https%3A%2F%2Fconnect.garmin.com%2Fmodern%2F&webhost=https%3A%2F%2Fconnect.garmin.com%2Fmodern%2F&source=https%3A%2F%2Fconnect.garmin.com%2Fsignin%2F&redirectAfterAccountLoginUrl=https%3A%2F%2Fconnect.garmin.com%2Fmodern%2F&redirectAfterAccountCreationUrl=https%3A%2F%2Fconnect.garmin.com%2Fmodern%2F&gauthHost=https%3A%2F%2Fsso.garmin.com%2Fsso&locale=en_GB&id=gauth-widget&cssUrl=https%3A%2F%2Fconnect.garmin.com%2Fgauth-custom-v1.2-min.css&privacyStatementUrl=https%3A%2F%2Fwww.garmin.com%2Fen-GB%2Fprivacy%2Fconnect%2F&clientId=GarminConnect&rememberMeShown=true&rememberMeChecked=false&createAccountShown=true&openCreateAccount=false&displayNameShown=false&consumeServiceTicket=false&initialFocus=true&embedWidget=false&socialEnabled=false&generateExtraServiceTicket=true&generateTwoExtraServiceTickets=true&generateNoServiceTicket=false&globalOptInShown=true&globalOptInChecked=false&mobile=false&connectLegalTerms=true&showTermsOfUse=false&showPrivacyPolicy=false&showConnectLegalAge=false&locationPromptShown=true&showPassword=true&useCustomHeader=false&mfaRequired=false&performMFACheck=false&rememberMyBrowserShown=true&rememberMyBrowserChecked=false#bzw hier
https://connect.garmin.com/modern/ -
@tombox @Thomas-Braun
Ich hatte den Garmin Adapter erst auf einem Testsystem laufen und hab dann meinen produktiven iobroker auch auf v18 hochgezogen und den Adapter im produktiven System genutzt. Allerdings ist mir mit v18 der RAM Verbrauch von ~5GB auf >8 GB gestiegen. Hab den Adapter dann deaktiviert, RAM Verbrauch allerdings unverändert. Bin dann wieder auf v16 zurück und RAM Verbrauch wieder "normal" und Adapter wieder nur auf dem Testsystem laufen. Da verhält er sich unauffällig.
Wollte heute einen anderen Adapter aktualisieren und bin kläglich gescheitert.npm ERR! code EBADENGINE npm ERR! A complete log of this run can be found in:npm ERR! /home/iobroker/.npm/_logs/2022-12-01T05_41_02_195Z-debug-0.log
Erst nachdem ich den deaktivierten Garmin Adapter gelöscht habe konnte ich wieder fehlerfrei den Zigbee-Adapter aktualisieren. Keine Ahnung ob das bei v18-Anforderung so sein soll oder ob einer von euch Profis damit was anfangen kann.
-
Das Log ist was kurz...
-
@thomas-braun
Durchaus, vergessen den interessanten Teil anzufügen:162 verbose stack Error: Unsupported engine 162 verbose stack at checkEngine (/usr/lib/node_modules/npm/node_modules/npm-install-checks/lib/index.js:14:25) 162 verbose stack at Arborist.[checkEngineAndPlatform] (/usr/lib/node_modules/npm/node_modules/@npmcli/arborist/lib/arborist/build-ideal-tree.js:228:11) 162 verbose stack at Arborist.buildIdealTree (/usr/lib/node_modules/npm/node_modules/@npmcli/arborist/lib/arborist/build-ideal-tree.js:214:42) 162 verbose stack at async Promise.all (index 1) 162 verbose stack at async Arborist.reify (/usr/lib/node_modules/npm/node_modules/@npmcli/arborist/lib/arborist/reify.js:153:5) 162 verbose stack at async Install.exec (/usr/lib/node_modules/npm/lib/commands/install.js:145:5) 162 verbose stack at async module.exports (/usr/lib/node_modules/npm/lib/cli.js:78:5) 163 verbose pkgid iobroker.garmin@0.0.1 164 verbose cwd /opt/iobroker 165 verbose Linux 5.10.0-19-amd64 166 verbose node v16.18.1 167 verbose npm v8.19.2 168 error code EBADENGINE 169 error engine Unsupported engine 170 error engine Not compatible with your version of node/npm: iobroker.garmin@0.0.1 171 error notsup Not compatible with your version of node/npm: iobroker.garmin@0.0.1 171 error notsup Required: {"node":">= 18"} 171 error notsup Actual: {"npm":"8.19.2","node":"v16.18.1"} 172 verbose exit 1 173 timing npm Completed in 3184ms 174 verbose unfinished npm timer reify 1669873262280 175 verbose unfinished npm timer reify:loadTrees 1669873262283 176 verbose code 1
-
Steht doch da. Der Adapter verlangt nodejs18, du fährst aber 16. Passt also nicht.
-
@bommel_030
Also der Garmin adapter hat minimum engine v18 aber warum das relevant ist für andere Adapter beim aktualisieren ist eigenartig. -
Weil NPM-Fehler die weitere Installation von irgendwas anderem verhindern, um das Chaos nicht noch größer werden zu lassen.
-
@thomas-braun @tombox
Mir ist klar dass der Adapter v18 verlangt. Deshalb habe ich ihn ja deaktiviert bevor ich wieder auf die v16 gegangen bin.
Was mir nicht klar war ist die Tatsache, dass ein deaktivierter v18-Adapter unter v16 das Update eines anderen Adapters verhindert.
Wenn das von NPM so gewollt ist dann ist ja alles geklärt und falls nochmal ein unwissender wie ich in diese Falle tappt liest er vielleicht den Post und weiß was zu tun ist. -
@bommel_030 sagte in Test Adapter Garmin:
Deshalb habe ich ihn ja deaktiviert
Aber nicht deinstalliert. Die Installation verlangt ja immer noch nodejs18, ob da eine Instanz läuft oder nicht.
Ist im übrigen das gleiche Verhalten wie bei apt. Da geht auch nix mehr, wenn eine inkonsistente Situation festgestellt wird.
-
@bommel_030 Ich denke eher dass es ein iobroker problem statt npm. Denn die versions Nummer oder ähnliches hat sich nicht geändert es gibt kein Grund für iobroker den adapter anzufassen.
-
NPM-Fehler tritt auf, weitere Installationen werden geblockt.
Das ist kein Fehler, das ist das gewollte Verhalten. -
@tombox
Auf beiden Seiten klappt die Anmeldung ohne Probleme. -
@tombox
Ich hab gerade nochmal auf meine Testinstallation geschaut. Ich kann mich auch nicht mehr anmelden.
Kann leider nicht genau eingrenzen seit wann. Login über Webseite klappt ohne Probleme.
Und auch wenn er Node 18 anmeckert, es ist installiert....host.iobtester 2022-12-01 09:25:13.467 warn Do not restart adapter system.adapter.garmin.0 because restart loop detected host.iobtester 2022-12-01 09:25:13.467 info Restart adapter system.adapter.garmin.0 because enabled host.iobtester 2022-12-01 09:25:13.466 error instance system.adapter.garmin.0 terminated with code 6 (UNCAUGHT_EXCEPTION) garmin.0 2022-12-01 09:25:12.942 warn Terminated (UNCAUGHT_EXCEPTION): Without reason garmin.0 2022-12-01 09:25:12.942 info terminating garmin.0 2022-12-01 09:25:12.941 error Cannot read properties of undefined (reading 'displayName') garmin.0 2022-12-01 09:25:12.941 error TypeError: Cannot read properties of undefined (reading 'displayName') at Garmin.updateDevices (/opt/iobroker/node_modules/iobroker.garmin/main.js:297:32) at Garmin.onReady (/opt/iobroker/node_modules/iobroker.garmin/main.js:74:18) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) garmin.0 2022-12-01 09:25:12.941 error unhandled promise rejection: Cannot read properties of undefined (reading 'displayName') garmin.0 2022-12-01 09:25:12.941 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(). garmin.0 2022-12-01 09:25:12.940 error {"clientMessage":"Reference Error ID in error logs for further information","errorId":"1566ba08-00c8-4c8f-93e2-a92e1495ac3e","error":"WebApplicationException"} garmin.0 2022-12-01 09:25:12.940 error AxiosError: Request failed with status code 403 garmin.0 2022-12-01 09:25:12.727 error "" garmin.0 2022-12-01 09:25:12.727 error AxiosError: Request failed with status code 401 garmin.0 2022-12-01 09:25:11.301 error Please update node to version 18 or higher garmin.0 2022-12-01 09:25:10.792 info Login to Garmin garmin.0 2022-12-01 09:25:10.777 info starting. Version 0.0.1 (non-npm: TA2k/ioBroker.garmin#016f743f623cdbba0a844db9623ab38046e7d24f) in /opt/iobroker/node_modules/iobroker.garmin, node: v18.12.1, js-controller: 4.0.23 host.iobtester 2022-12-01 09:25:10.233 info instance system.adapter.garmin.0 started with pid 1143 host.iobtester 2022-12-01 09:24:40.204 info Restart adapter system.adapter.garmin.0 because enabled
und
bommel@iobtester:/$ which nodejs && nodejs -v && which node && node -v && which npm && npm -v && apt policy nodejs /usr/bin/nodejs v18.12.1 /usr/bin/node v18.12.1 /usr/bin/npm 8.19.2 nodejs: Installed: 18.12.1-deb-1nodesource1 Candidate: 18.12.1-deb-1nodesource1 Version table: *** 18.12.1-deb-1nodesource1 500 500 https://deb.nodesource.com/node_18.x bullseye/main amd64 Packages 100 /var/lib/dpkg/status 12.22.12~dfsg-1~deb11u1 500 500 http://security.debian.org bullseye-security/main amd64 Packages 12.22.5~dfsg-2~11u1 500 500 http://ftp.debian.org/debian bullseye/main amd64 Packages bommel@iobtester:/$
-
@bommel_030 Garmin hatte nochmal was geändert login sollte jetzt wieder gehen. Einfach neu installieren
-
@tombox
Danke, das wars, läuft wieder. Alle 12.583 states aktualisiert... -
Hallo @tombox ,
vielen Dank für den Adapter. Ich nutze ihn mit zwei Instanzen. In der ersten Instanz ist eine Scale Index S2, ein Forerunner 235 und eine Vivoactive 3. In dieser Instanz ist alles okay. In der zweiten Instanz ist noch zusätzlich eine Vivoactive 4s und da habe ich folgende Fehlermeldungen:
Hast Du eine Idee, was falsch läuft? Die Errors kommen nicht permanent, aber immer mal wieder.