NEWS
Test Adapter Garmin
-
@bommel_030 es gibt jetzt zwei filter listen
@clown007 ich habe nochmal logs hinzugefügt@tombox sagte in Test Adapter Garmin:
@bommel_030 es gibt jetzt zwei filter listen
@clown007 ich habe nochmal logs hinzugefügt2026-01-12 23:33:48.476 - debug: garmin.0 (397261) MFA Response title: Success 2026-01-12 23:33:48.479 - info: garmin.0 (397261) MFA verification successful 2026-01-12 23:33:48.479 - debug: garmin.0 (397261) Ticket: ST-281134-Xxm0wB32BcpLHh2g17lg-cas 2026-01-12 23:33:48.479 - debug: garmin.0 (397261) Getting OAuth1 token... 2026-01-12 23:33:48.997 - debug: garmin.0 (397261) Fetched OAuth consumer from S3 2026-01-12 23:33:48.997 - debug: garmin.0 (397261) {"consumer_key":"fc3e99d2-118c-44b8-8ae3-03370dde24c0","consumer_secret":"E08WAR897WEy2knn7aFBrvegVAf0AFdWBBF"} 2026-01-12 23:33:49.580 - debug: garmin.0 (397261) OAuth1 Status: 200 2026-01-12 23:33:49.580 - debug: garmin.0 (397261) "oauth_token=a2d59379-a1e3-4a5d-b801-254e7610610b&oauth_token_secret=juIPzbGaeio0ria5HHiPlM32sNoo3nJm24Y&mfa_token=MFA-4166-q3IY01WZYBweJdrndrdGlfCXRWD1ZGt0avp04rB6lv5neXme1t-cas&mfa_expiration_timestamp=2027-01-12 22:33:48.000" 2026-01-12 23:33:49.581 - debug: garmin.0 (397261) OAuth1 Token: OK 2026-01-12 23:33:49.581 - debug: garmin.0 (397261) Exchanging for OAuth2 token... 2026-01-12 23:33:49.581 - debug: garmin.0 (397261) oauth1Token: {"oauth_token":"a2d59379-a1e3-4a5d-b801-254e7610610b","oauth_token_secret":"juIPzbGaeio0ria5HHiPlM32sNoo3nJm24Y","mfa_token":"MFA-4166-q3IY01WZYBweJdrndrdGlfCXRWD1ZGt0avp04rB6lv5neXme1t-cas"} 2026-01-12 23:33:49.581 - debug: garmin.0 (397261) authHeader: {"Authorization":"OAuth oauth_consumer_key=\"fc3e99d2-118c-44b8-8ae3-03370dde24c0\", oauth_nonce=\"WxShBZnGaUyc32QElolln2EqSHiqXWyA\", oauth_signature=\"ltG5oYAELBFPzDJpdF1LtEz43I0%3D\", oauth_signature_method=\"HMAC-SHA1\", oauth_timestamp=\"1768257229\", oauth_token=\"a2d59379-a1e3-4a5d-b801-254e7610610b\", oauth_version=\"1.0\""} 2026-01-12 23:33:49.581 - debug: garmin.0 (397261) body: mfa_token=MFA-4166-q3IY01WZYBweJdrndrdGlfCXRWD1ZGt0avp04rB6lv5neXme1t-cas 2026-01-12 23:33:49.725 - error: garmin.0 (397261) OAuth2 request failed: 401 Request failed with status code 401 2026-01-12 23:33:49.725 - error: garmin.0 (397261) OAuth2 error response: "<!doctype html><html lang=\"en\"><head><title>HTTP Status 401 – Unauthorized</title><style type=\"text/css\">body {font-family:Tahoma,Arial,sans-serif;} h1, h2, h3, b {color:white;background-color:#525D76;} h1 {font-size:22px;} h2 {font-size:16px;} h3 {font-size:14px;} p {font-size:12px;} a {color:black;} .line {height:1px;background-color:#525D76;border:none;}</style></head><body><h1>HTTP Status 401 – Unauthorized</h1><hr class=\"line\" /><p><b>Type</b> Status Report</p><p><b>Message</b> Invalid signature for signature method HMAC-SHA1</p><p><b>Description</b> The request has not been applied to the target resource because it lacks valid authentication credentials for that resource.</p><hr class=\"line\" /><h3>Garmin Connect API Server</h3></body></html>" 2026-01-12 23:33:49.725 - error: garmin.0 (397261) OAuth2 token exchange failed 2026-01-12 23:33:49.725 - info: garmin.0 (397261) Clearing MFA session and token for fresh login... 2026-01-12 23:33:49.730 - error: garmin.0 (397261) Login failedIch hatte beim ersten mal eine falsche MFA eingegeben das gab klar eine Fehlermeldung. Für mich sieht es so als ob der Hashing Algorithmus nicht akzeptiert wird: " Invalid signature for signature method HMAC-SHA1"
Wenn Du mehr vom log benötiogst, gib mir einfach eine kurze Info
-
@tombox
hm, das läuft auch noch nicht rund...
Beim Filter exakter Datenpunkt wirdhydration.valueInMLnicht angenommen,
valueInMLhingegen schon.
Dieser Datenpunkt ist noch eineindeutig. Beidailysleep.dailySleepDTO.sleepScores.overall.valuewird das dann schon schwieriger, da
valuesehr oft verwendet wird. Ich fände es besser wenn der "Pfad" des Datenpunktes mit verwendet wird.
Leider werden weiterhin auch noch ca. 5.000 weitere Datenpunkte angelegt. Es dürften eigentlich nur die 2 im Screenshot dargestellten Punkte auftauchen(der Info Teil natürlich auch).
Die unteren drei Ordner sind leer, die oberen sind voll.

-
@bommel_030 @clown007
wurde nochmal aktualisiert- Kann es sein, dass Groß-/Kleinschreibung interessant ist?
Ich habe die exakten Datenpunkte aus dem alten Baum kopiert.
weight.dateWeightList01.bmi, weight.dateWeightList01.bodyFat, weight.dateWeightList01.weight, weight.dateWeightList01.boneMass, weight.dateWeightList01.muscleMass,weight.dateWeightList01.bodyWater, usersummary.totalSteps, usersummary.dailyStepGoal, usersummary.floorsAscended, usersummary.totalDistanceMeters, usersummary.bodyBatteryMostRecentValue, usersummary.bodyBatteryChargedValue, usersummary.bodyBatteryDrainedValue, usersummary.maxHeartRate, usersummary.restingHeartRate, dailysleep.dailySleepDTO.sleepScores.overall.value, usersummary.latestSpo2, dailystress.avgStressLevel, trainingstatus.mostRecentVO2Max.generic.vo2MaxValue, hydration.valueInML, hydration.sweatLossInML, hydration.goalInMLIm Log gibt er die alle komplett klein geschrieben aus.
Exact allowlist active: weight.dateweightlist01.bmi, weight.dateweightlist01.bodyfat, weight.dateweightlist01.weight, weight.dateweightlist01.bonemass, weight.dateweightlist01.musclemass, weight.dateweightlist01.bodywater, usersummary.totalsteps, usersummary.dailystepgoal, usersummary.floorsascended, usersummary.totaldistancemeters, usersummary.bodybatterymostrecentvalue, usersummary.bodybatterychargedvalue, usersummary.bodybatterydrainedvalue, usersummary.maxheartrate, usersummary.restingheartrate, dailysleep.dailysleepdto.sleepscores.overall.value, usersummary.latestspo2, dailystress.avgstresslevel, trainingstatus.mostrecentvo2max.generic.vo2maxvalue, hydration.valueinml, hydration.sweatlossinml, hydration.goalinmlIm Objektbaum taucht kein einziger Datenpunkt aus der allowlist auf.
- Die ersten 4 Ordner werden trotzdem angelegt obwohl sie das eigentlich nicht sollten. Sind allein schon über 2.500 Datenpunkte.

Trotzdem nochmals danke für deine Arbeit. Mit der neuen LogIn übersteht die Instanz bei mir auch einen Neustart des ioBrokers.
- Kann es sein, dass Groß-/Kleinschreibung interessant ist?
-
- Kann es sein, dass Groß-/Kleinschreibung interessant ist?
Ich habe die exakten Datenpunkte aus dem alten Baum kopiert.
weight.dateWeightList01.bmi, weight.dateWeightList01.bodyFat, weight.dateWeightList01.weight, weight.dateWeightList01.boneMass, weight.dateWeightList01.muscleMass,weight.dateWeightList01.bodyWater, usersummary.totalSteps, usersummary.dailyStepGoal, usersummary.floorsAscended, usersummary.totalDistanceMeters, usersummary.bodyBatteryMostRecentValue, usersummary.bodyBatteryChargedValue, usersummary.bodyBatteryDrainedValue, usersummary.maxHeartRate, usersummary.restingHeartRate, dailysleep.dailySleepDTO.sleepScores.overall.value, usersummary.latestSpo2, dailystress.avgStressLevel, trainingstatus.mostRecentVO2Max.generic.vo2MaxValue, hydration.valueInML, hydration.sweatLossInML, hydration.goalInMLIm Log gibt er die alle komplett klein geschrieben aus.
Exact allowlist active: weight.dateweightlist01.bmi, weight.dateweightlist01.bodyfat, weight.dateweightlist01.weight, weight.dateweightlist01.bonemass, weight.dateweightlist01.musclemass, weight.dateweightlist01.bodywater, usersummary.totalsteps, usersummary.dailystepgoal, usersummary.floorsascended, usersummary.totaldistancemeters, usersummary.bodybatterymostrecentvalue, usersummary.bodybatterychargedvalue, usersummary.bodybatterydrainedvalue, usersummary.maxheartrate, usersummary.restingheartrate, dailysleep.dailysleepdto.sleepscores.overall.value, usersummary.latestspo2, dailystress.avgstresslevel, trainingstatus.mostrecentvo2max.generic.vo2maxvalue, hydration.valueinml, hydration.sweatlossinml, hydration.goalinmlIm Objektbaum taucht kein einziger Datenpunkt aus der allowlist auf.
- Die ersten 4 Ordner werden trotzdem angelegt obwohl sie das eigentlich nicht sollten. Sind allein schon über 2.500 Datenpunkte.

Trotzdem nochmals danke für deine Arbeit. Mit der neuen LogIn übersteht die Instanz bei mir auch einen Neustart des ioBrokers.
@bommel_030 KI hat eine dritte liste hinzugefügt und mehr debug logs weil wenn du die Ordner löscht sollten sie nicht mit Datenpunkt wieder angelegt werden
- Kann es sein, dass Groß-/Kleinschreibung interessant ist?
-
@bommel_030 @clown007
wurde nochmal aktualisiert -
@bommel_030 KI hat eine dritte liste hinzugefügt und mehr debug logs weil wenn du die Ordner löscht sollten sie nicht mit Datenpunkt wieder angelegt werden
@tombox sagte in Test Adapter Garmin:
@bommel_030 KI hat eine dritte liste hinzugefügt und mehr debug logs weil wenn du die Ordner löscht sollten sie nicht mit Datenpunkt wieder angelegt werden
Hab wieder über die Katze installiert, aber eine dritte Liste taucht nicht auf?!?
Ergebnis der Datenpunkte wie gehabt. Die Ordner auth und info sind eigentlich verständlich. Mit dem ordner devices habe ich grundsätzlich auch kein Problem.
Wenn ich mir das logfile ansehe filtert er nicht nach dem exakten Datenpunkt, sondern nur nach dem ersten Teil, also z.B. hydration. Damit kann er die Datenpunkte nicht parsen.
Im Ordner dailystress sollte nach der allowlist 1 Datenpunkt auftauchen. Exakt dieser eine taucht nicht auf, hunderte andere trotzdem. Würde aber immerhin erklären warum er den Ordner anlegt.
Warum er aber den Ordner activities anlegt verstehe ich nicht, das taucht in der allolist definitiv nicht auf.
Gekürztes Log anbei (das komplette würde den Rahmen sprengen, aber für hydration und activities ist der interessante Teil dabei).garmin.0 2026-01-13 21:10:12.937 debug Parsing activities with filtered data: [{"userRoles":["SCOPE_GOLF_API_READ","SCOPE_DI_OAUTH_2_DEVICE_REVOCATION_WRITE","SCOPE_DI_OAUTH_2_CREATE_DI_USER","SCOPE_ATP_READ","SCOPE_DIVE_API_WRITE","SCOPE_COMMUNITY_COURSE_ADMIN_READ","SCOPE_DIVE_API_READ","SCOPE_DI_OAUTH_2_CLIENT_READ","SCOPE_CONNECT_WRITE","SCOPE_COMMUNITY_COURSE_WRITE","SCOPE_CONNECT_MCT_DAILY_LOG_READ","SCOPE_CONNECT_API_CREATE_UPDATE_USER","SCOPE_MESSAGE_GENERATION_READ","SCOPE_DI_OAUTH_2_CLIENT_REVOCATION_ADMIN","SCOPE_CONNECT_WEB_TEMPLATE_RENDER","SCOPE_OMT_SUBSCRIP garmin.0 2026-01-13 21:10:12.936 debug [{"activityId":21535275938,"activityName":"Berlin Gehen","startTimeLocal":"2026-01-13 17:28:04","startTimeGMT":"2026-01-13 16:28:04","activityType":{"typeId":9,"typeKey":"walking","parentTypeId":17,"isHidden":false,"restricted":false,"trimmable":true},"eventType": garmin.0 2026-01-13 20:55:08.666 debug No data left after allowlist filter for hydration garmin.0 2026-01-13 20:55:08.666 debug {"userId":2400759,"calendarDate":"2026-01-13","valueInML":0,"goalInML":3022,"dailyAverageinML":null,"lastEntryTimestampLocal":"2026-01-13T17:28:04.0","sweatLossInML":222,"activityIntakeInML":0} garmin.0 2026-01-13 20:55:08.157 info Found 3 devices garmin.0 2026-01-13 20:55:07.469 info Exact allowlist active: hydration.valueinml, hydration.sweatlossinml, hydration.goalinml, trainingstatus.mostrecentvo2max.generic.vo2maxvalue, dailystress.avgstresslevel, usersummary.latestspo2, dailysleep.dailysleepdto.sleepscores.overall.value, usersummary.restingheartrate, usersummary.maxheartrate, usersummary.bodybatterydrainedvalue, usersummary.bodybatterychargedvalue, usersummary.bodybatterymostrecentvalue, usersummary.totaldistancemeters, usersummary.floorsascended, usersummary.dailystepgoal, usersummary.totalsteps, weight.dateweightlist01.bodywater, weight.dateweightlist01.musclemass, weight.dateweightlist01.bonemass, weight.dateweightlist01.weight, weight.dateweightlist01.bodyfat, weight.dateweightlist01.bmi garmin.0 2026-01-13 20:55:07.461 info starting. Version 0.2.1 (non-npm: TA2k/ioBroker.garmin) in /opt/iobroker/node_modules/iobroker.garmin, node: v22.21.0, js-controller: 7.1.0 -
@tombox sagte in Test Adapter Garmin:
@bommel_030 KI hat eine dritte liste hinzugefügt und mehr debug logs weil wenn du die Ordner löscht sollten sie nicht mit Datenpunkt wieder angelegt werden
Hab wieder über die Katze installiert, aber eine dritte Liste taucht nicht auf?!?
Ergebnis der Datenpunkte wie gehabt. Die Ordner auth und info sind eigentlich verständlich. Mit dem ordner devices habe ich grundsätzlich auch kein Problem.
Wenn ich mir das logfile ansehe filtert er nicht nach dem exakten Datenpunkt, sondern nur nach dem ersten Teil, also z.B. hydration. Damit kann er die Datenpunkte nicht parsen.
Im Ordner dailystress sollte nach der allowlist 1 Datenpunkt auftauchen. Exakt dieser eine taucht nicht auf, hunderte andere trotzdem. Würde aber immerhin erklären warum er den Ordner anlegt.
Warum er aber den Ordner activities anlegt verstehe ich nicht, das taucht in der allolist definitiv nicht auf.
Gekürztes Log anbei (das komplette würde den Rahmen sprengen, aber für hydration und activities ist der interessante Teil dabei).garmin.0 2026-01-13 21:10:12.937 debug Parsing activities with filtered data: [{"userRoles":["SCOPE_GOLF_API_READ","SCOPE_DI_OAUTH_2_DEVICE_REVOCATION_WRITE","SCOPE_DI_OAUTH_2_CREATE_DI_USER","SCOPE_ATP_READ","SCOPE_DIVE_API_WRITE","SCOPE_COMMUNITY_COURSE_ADMIN_READ","SCOPE_DIVE_API_READ","SCOPE_DI_OAUTH_2_CLIENT_READ","SCOPE_CONNECT_WRITE","SCOPE_COMMUNITY_COURSE_WRITE","SCOPE_CONNECT_MCT_DAILY_LOG_READ","SCOPE_CONNECT_API_CREATE_UPDATE_USER","SCOPE_MESSAGE_GENERATION_READ","SCOPE_DI_OAUTH_2_CLIENT_REVOCATION_ADMIN","SCOPE_CONNECT_WEB_TEMPLATE_RENDER","SCOPE_OMT_SUBSCRIP garmin.0 2026-01-13 21:10:12.936 debug [{"activityId":21535275938,"activityName":"Berlin Gehen","startTimeLocal":"2026-01-13 17:28:04","startTimeGMT":"2026-01-13 16:28:04","activityType":{"typeId":9,"typeKey":"walking","parentTypeId":17,"isHidden":false,"restricted":false,"trimmable":true},"eventType": garmin.0 2026-01-13 20:55:08.666 debug No data left after allowlist filter for hydration garmin.0 2026-01-13 20:55:08.666 debug {"userId":2400759,"calendarDate":"2026-01-13","valueInML":0,"goalInML":3022,"dailyAverageinML":null,"lastEntryTimestampLocal":"2026-01-13T17:28:04.0","sweatLossInML":222,"activityIntakeInML":0} garmin.0 2026-01-13 20:55:08.157 info Found 3 devices garmin.0 2026-01-13 20:55:07.469 info Exact allowlist active: hydration.valueinml, hydration.sweatlossinml, hydration.goalinml, trainingstatus.mostrecentvo2max.generic.vo2maxvalue, dailystress.avgstresslevel, usersummary.latestspo2, dailysleep.dailysleepdto.sleepscores.overall.value, usersummary.restingheartrate, usersummary.maxheartrate, usersummary.bodybatterydrainedvalue, usersummary.bodybatterychargedvalue, usersummary.bodybatterymostrecentvalue, usersummary.totaldistancemeters, usersummary.floorsascended, usersummary.dailystepgoal, usersummary.totalsteps, weight.dateweightlist01.bodywater, weight.dateweightlist01.musclemass, weight.dateweightlist01.bonemass, weight.dateweightlist01.weight, weight.dateweightlist01.bodyfat, weight.dateweightlist01.bmi garmin.0 2026-01-13 20:55:07.461 info starting. Version 0.2.1 (non-npm: TA2k/ioBroker.garmin) in /opt/iobroker/node_modules/iobroker.garmin, node: v22.21.0, js-controller: 7.1.0@bommel_030 ist jetzt drin
-
@bommel_030 ist jetzt drin
@tombox
Jetzt mit dritter Liste, aber leider gleichem Ergebnis. Diesmal nur mit hydration.goalinml in der allowlist.

Die grünen Ordner sind ok, der gelbe sollte nicht da sein, stört aber nicht, die beiden magenta sollten nicht auftauchen.
Der erlaubte hydration taucht leider gar nicht auf.

debug.log -
@tombox
Jetzt mit dritter Liste, aber leider gleichem Ergebnis. Diesmal nur mit hydration.goalinml in der allowlist.

Die grünen Ordner sind ok, der gelbe sollte nicht da sein, stört aber nicht, die beiden magenta sollten nicht auftauchen.
Der erlaubte hydration taucht leider gar nicht auf.

debug.log@bommel_030 nochmal testen
-
@bommel_030 nochmal testen
@tombox
Sobald ich einen Filter eingebe Werte kommen keine Daten an.
Die Ordner activities und dailystress erscheinen jetzt aber nicht mehr.
Wenn ich den Filter rausnehme kommen wieder Daten rein.... -
@tombox
Sobald ich einen Filter eingebe Werte kommen keine Daten an.
Die Ordner activities und dailystress erscheinen jetzt aber nicht mehr.
Wenn ich den Filter rausnehme kommen wieder Daten rein....@bommel_030 bräuchte den log
-
@bommel_030 bräuchte den log
@tombox
Der Hinweis mit dem Array hat geholfen. Danke, alle Daten kommen jetzt rein.
Wenn es nach mir ginge reicht im Array die 01 als Datenpunkt, da stehen die aktuellen Werte drin. Der zusätzlichen Ordner 02 müsste nicht erscheinen. -
ganz verstehe ich noch nicht, welche elemente ich wo eintragen muss. kann mir da bitte jemand einen tipp geben?

-
ganz verstehe ich noch nicht, welche elemente ich wo eintragen muss. kann mir da bitte jemand einen tipp geben?

@MassiveAttack
Kommt drauf an was du genau haben willst. Wenn du dir explizit Datenpunkte aussuchst die du haben möchtest, kopiere den Pfad (doppeltes Blatt neben dem value in der markierten Zeile von deinem Screenshot) und trage ihn "Exakte Pfade (komma-separiert)" in der Instanz ein. Den Teil "garmin.0." musst du dann noch entfernen. Weitere Datenpunkte nach gleichem Schema komma separiert hinten dran. Wichtig, bei Arrays die Zahl entfernen.
-
@MassiveAttack
Kommt drauf an was du genau haben willst. Wenn du dir explizit Datenpunkte aussuchst die du haben möchtest, kopiere den Pfad (doppeltes Blatt neben dem value in der markierten Zeile von deinem Screenshot) und trage ihn "Exakte Pfade (komma-separiert)" in der Instanz ein. Den Teil "garmin.0." musst du dann noch entfernen. Weitere Datenpunkte nach gleichem Schema komma separiert hinten dran. Wichtig, bei Arrays die Zahl entfernen.
@bommel_030
Besten Dank :)