NEWS
Test Adapter Garmin
-
Hi ich habe ein neuen Adapter für Garmin connect geschrieben.
Minimum Node v18 muss installiert sein, sonst bekommt man exit code 25 beim installieren
Zum Installieren:
https://github.com/TA2k/ioBroker.garminUnter Adapter Experten Modus aktivieren:
Unter Adapter das Github Icon klicken:
Benutzerdefiniert auswählen und die Url einfügen.
Dann unter Adapter den Garmin Adapter suchen und ganz rechts auf das Plus klicken.
Loginablauf:
Die Garmin connect Zugangsdaten eingeben -
@tombox
Danke erstmal für den Adapter. Installation mit Mail/Passwort ohne MFA lief nach Upgrade auf Node v18 problemlos.
Momentan holt bzw. erstellt er eine Unmenge an Objekten/Ordnern. Ob ich jetzt wirklich 514 Unterordner in SleepMovement brauche möchte ich ja glatt schon direkt verneinen. Ich schau mir mal in Ruhe die Datenstruktur an wenn er alles abgerufen hat. Evtl. kann man da noch etwas optimieren. -
@tombox
Ich musste den Adapter wieder deinstallieren da er mir mein ganzen System stillgelegt hat.
Bin für den Adapter von Node v16 wie empfohlen auf die v18. Hatte die nachfolgenden Probleme dann erst auf die V18 geschoben, aber nachdem ich den 16er Snapshot zurückgespielt und wieder auf die v18 gegangen bin kann ich das eigentlich ausschließen. Sobald ich den Adapter installiere fängt er an Daten abzurufen und das quasi unbegrenzt. Ich weiß nicht wieviel bei den anderen Testern so an Daten kommen, bei mir kamen gut 132.000 Objekte und über 95.000 States hinzu. Da reichten dann auch die 8GB RAM nicht mehr aus.
Nach Deinstallation läuft alles wieder ruhig. -
@bommel_030 Welche Ordner haben denn viele Objekte ?
-
@tombox
Kann ich dir jetzt direkt gar nicht mehr sagen da sie alle weg sind. Ich meine bei den Activities waren es nur 99, bei allem was mit Sleep zu tun hatte waren es schon >500. Wenn du was genaueres wissen willst kann ich mal ne Testmaschine aufsetzen und schauen wo genau die sind. -
@tombox
Hab eine neue VM nur mit iobroker angelegt. Sobald ich den Adapter installiere und aktiviere geht der RAM Bedarf auf > 5GB. Die Sleep Ordner waren wieder >500. Ich habe versucht den Ordner Heartrate (o.ä.) zu öffnen. Seitdem geht im Tab Objekte gar nichts mehr und kann ihn nach stoppen des Adapters auch nicht mehr aufrufen. Objekte sind auch wieder >200.000 angestiegen. -
@bommel_030 Ich habe die Anzahl der heartrates und activities limitiert da anscheinend bis zu 10 Jahre die Daten gespeichert werden es werden jetzt nur die letzten 6 bzw 10 angezeigt
-
Vielen Dank erstmal für deinen Adapter. Leider bekomme ich diesen bei mir nicht zum laufen, da immer wieder die Meldung kommt:
AxiosError: Request failed with status code 401
Failed ticket please check username and passwordDas Passwort habe ich nun schon mehrfach kontrolliert und auch mal abgeändert. Der Login in Garmin Connect funktioniert damit auch einwandfrei nur beim Adapter will der irgendwie nicht.
Sonderzeichen sind auch keine ungewöhnlichen im Passwort, was eventuell zu Problemen führen könnte.
Laufe aktuell auch auf Node 18. Installation lief ohne Probleme. -
@johannes2704
Hast du deinen Benutzernamen oder die hinterlegte Mail-Adresse im Adapter eingegeben?
Benutzername funktioniert bei mir nicht, Mail-Adresse läuft. -
@bommel_030
Habe die Mailadresse hinterlegt. Benutzernamen weiß ich nichtmal wo ich den finde. -
@johannes2704 sagte in Test Adapter Garmin:
Laufe aktuell auch auf Node 18.
Und mit nodeJS@16 schaut das wie aus?
-
@thomas-braun Der Adapter braucht Minimum 18
-
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