Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Tester
  4. Test Adapter Garmin

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.8k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.3k

Test Adapter Garmin

Geplant Angeheftet Gesperrt Verschoben Tester
150 Beiträge 18 Kommentatoren 33.4k Aufrufe 17 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • hg6806H hg6806

    Ein Garmin Adapter klingt sehr vielversprechend.

    Allerdings zeichne ich seit 15 Jahren auf, und als Triathlet kommen so einige Objekte zusammen.
    Deshalb habe ich etwas Angst das System zu zerschießen, zumal ich nur 4GB RAM habe.

    Kann man das irgendwie begrenzen?

    T Offline
    T Offline
    tombox
    schrieb am zuletzt editiert von
    #70

    @hg6806 Wo sind denn genau zuviel Objekte

    hg6806H 1 Antwort Letzte Antwort
    0
    • T tombox

      @hg6806 Wo sind denn genau zuviel Objekte

      hg6806H Offline
      hg6806H Offline
      hg6806
      Most Active
      schrieb am zuletzt editiert von
      #71

      @tombox

      Es wurde berichtet, dass teilweise über 100.000 Objekte geladen wurden, und da ich nur ein 4GB RasPi habe bin ich da vorsichtig.
      Deshalb die Frage ob man das begrenzen kann wie z.B. nur einen bestimmten Zeitraum.

      1 Antwort Letzte Antwort
      0
      • T tombox

        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.garmin

        Unter Adapter Experten Modus aktivieren:
        9309457a-cad0-4ff4-946f-28df05d32801-image.png

        Unter Adapter das Github Icon klicken:
        ef5f973f-4a70-43be-bf9a-460726a69d1d-image.png
        Benutzerdefiniert auswählen und die Url einfügen.
        8328414c-da64-41d4-b524-5a75a25cb683-image.png

        Dann unter Adapter den Garmin Adapter suchen und ganz rechts auf das Plus klicken.
        f59f304a-7769-463f-84d2-e36b461a87bd-image.png

        Loginablauf:
        Die Garmin connect Zugangsdaten eingeben

        M Offline
        M Offline
        micha182
        schrieb am zuletzt editiert von
        #72

        @tombox

        Toller Adapter, herzlichen Dank!

        1 Antwort Letzte Antwort
        0
        • K Offline
          K Offline
          kirbsi
          schrieb am zuletzt editiert von
          #73

          Hallo Leute. Bekommt ihr noch Daten von Garmin. Seit dem 20.10.2023 kommt bei mir nichts mehr rein!

          T 1 Antwort Letzte Antwort
          0
          • K Offline
            K Offline
            kirbsi
            schrieb am zuletzt editiert von
            #74

            Ich bekomme nur noch 126 Datenpunkte rein. Keine über 9000 mehr.

            T 1 Antwort Letzte Antwort
            0
            • K kirbsi

              Ich bekomme nur noch 126 Datenpunkte rein. Keine über 9000 mehr.

              T Offline
              T Offline
              tombox
              schrieb am zuletzt editiert von
              #75

              @kirbsi Vielleicht kannst du im debug log mehr sehen was das problem ist

              B 1 Antwort Letzte Antwort
              0
              • T tombox

                @kirbsi Vielleicht kannst du im debug log mehr sehen was das problem ist

                B Nicht stören
                B Nicht stören
                bommel_030
                schrieb am zuletzt editiert von
                #76

                @tombox
                Hab den Adapter schon lange nicht mehr genutzt da er bei mir regelmäßig abstürzt. Nach dem Post hab ich in mal wieder reaktivert, anbei das Debug-Log wenn ich den Adapter starte. Zumindest von den von mir verwendeten Werten wird keine mehr aktualisiert. Benutzername und Passwort sind korrekt.

                
                garmin.0
                2023-11-07 10:00:28.354	error	""
                
                garmin.0
                2023-11-07 10:00:28.353	error	AxiosError: Request failed with status code 402
                
                garmin.0
                2023-11-07 10:00:28.353	error	https://connect.garmin.com/modern/proxy/weight-service/weight/dateRange?startDate=2023-11-01&endDate=2023-11-07
                
                garmin.0
                2023-11-07 10:00:28.279	error	""
                
                garmin.0
                2023-11-07 10:00:28.279	error	AxiosError: Request failed with status code 402
                
                garmin.0
                2023-11-07 10:00:28.279	error	https://connect.garmin.com/modern/proxy/activitylist-service/activities/search/activities?start=0&limit=10
                
                garmin.0
                2023-11-07 10:00:28.206	error	""
                
                garmin.0
                2023-11-07 10:00:28.206	error	AxiosError: Request failed with status code 402
                
                garmin.0
                2023-11-07 10:00:28.205	error	https://connect.garmin.com/modern/proxy/metrics-service/metrics/trainingstatus/aggregated/2023-11-07
                
                garmin.0
                2023-11-07 10:00:28.124	error	""
                
                garmin.0
                2023-11-07 10:00:28.124	error	AxiosError: Request failed with status code 402
                
                garmin.0
                2023-11-07 10:00:28.124	error	https://connect.garmin.com/modern/proxy/userstats-service/wellness/daily/bommel_030?fromDate=2023-11-01
                
                garmin.0
                2023-11-07 10:00:28.053	error	""
                
                garmin.0
                2023-11-07 10:00:28.053	error	AxiosError: Request failed with status code 402
                
                garmin.0
                2023-11-07 10:00:28.053	error	https://connect.garmin.com/modern/proxy/wellness-service/wellness/dailyStress/2023-11-07
                
                garmin.0
                2023-11-07 10:00:27.978	error	""
                
                garmin.0
                2023-11-07 10:00:27.978	error	AxiosError: Request failed with status code 402
                
                garmin.0
                2023-11-07 10:00:27.977	error	https://connect.garmin.com/modern/proxy/wellness-service/wellness/dailySleepData/bommel_030?date=2023-11-07&nonSleepBufferMinutes=60
                
                garmin.0
                2023-11-07 10:00:27.899	error	""
                
                garmin.0
                2023-11-07 10:00:27.899	error	AxiosError: Request failed with status code 402
                
                garmin.0
                2023-11-07 10:00:27.898	error	https://connect.garmin.com/modern/proxy/usersummary-service/usersummary/hydration/daily/2023-11-07
                
                garmin.0
                2023-11-07 10:00:27.815	error	""
                
                garmin.0
                2023-11-07 10:00:27.815	error	AxiosError: Request failed with status code 402
                
                garmin.0
                2023-11-07 10:00:27.815	error	https://connect.garmin.com/modern/proxy/metrics-service/metrics/maxmet/daily/2023-11-07/2023-11-07
                
                garmin.0
                2023-11-07 10:00:27.708	error	""
                
                garmin.0
                2023-11-07 10:00:27.708	error	AxiosError: Request failed with status code 402
                
                garmin.0
                2023-11-07 10:00:27.708	error	https://connect.garmin.com/modern/proxy/usersummary-service/usersummary/daily/bommel_030?calendarDate=2023-11-07
                
                garmin.0
                2023-11-07 10:00:27.618	error	""
                
                garmin.0
                2023-11-07 10:00:27.618	error	AxiosError: Request failed with status code 402
                
                garmin.0
                2023-11-07 10:00:27.543	debug	{"scope":"COMMUNITY_COURSE_READ GOLF_API_READ GHS_HID ATP_READ GHS_SAMD INSIGHTS_READ COMMUNITY_COURSE_WRITE CONNECT_WRITE DIVE_SHARED_READ GHS_REGISTRATION DT_CLIENT_ANALYTICS_WRITE GOLF_API_WRITE INSIGHTS_WRITE PRODUCT_SEARCH_READ GOLF_SHARED_READ CONNECT_NON_SOCIAL_SHARED_READ CONNECT_READ ATP_WRITE","jti":"764eb129-84e2-4a89-a71d-615106000918","access_token":"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImRpLW9hdXRoLXNpZ25lci1wcm9kLTIwMjMtcTIifQ.eyJzY29wZSI6WyJBVFBfUkVBRCIsIkFUUF9XUklURSIsIkNPTU1VTklUWV9DT1VSU0VfUkVBRCIsIkNPTU1VTklUWV9DT1VSU0VfV1JJVEUiLCJDT05ORUNUX05PTl9TT0NJQUxfU0hBUkVEX1JFQUQiLCJDT05ORUNUX1JFQUQiLCJDT05ORUNUX1dSSVRFIiwiRElWRV9TSEFSRURfUkVBRCIsIkRUX0NMSUVOVF9BTkFMWVRJQ1NfV1JJVEUiLCJHSFNfSElEIiwiR0hTX1JFR0lTVFJBVElPTiIsIkdIU19TQU1EIiwiR09MRl9BUElfUkVBRCIsIkdPTEZfQVBJX1dSSVRFIiwiR09MRl9TSEFSRURfUkVBRCIsIklOU0lHSFRTX1JFQUQiLCJJTlNJR0hUU19XUklURSIsIlBST0RVQ1RfU0VBUkNIX1JFQUQiXSwiaXNzIjoiaHR0cHM6Ly9kaWF1dGguZ2FybWluLmNvbSIsImV4cCI6MTY5OTM1MTIyNywiaWF0IjoxNjk5MzQ3NjI3LCJnYXJtaW5fZ3VpZCI6IjQyNGZiZTk3LWE4OWQtNDdlYi1hMWNiLWNiZWI3ZjAwZWI4NSIsImp0aSI6Ijc2NGViMTI5LTg0ZTItNGE4OS1hNzFkLTYxNTEwNjAwMDkxOCIsImNsaWVudF9pZCI6IkNPTk5FQ1RfV0VCIiwiZmdwIjoiZWU4NjlhNDBjMWJiNTY2MTFjZDljOWRkYWI4OWZmNjk0YmJmYTNmOGQyNTVjMDQ4Y2FhM2FjNzI4ODZjNjU2ZSJ9.Mp6Tb9mKVELodO2kUPpjBUvWdVIfr14BLllw9_UDBKtOrOxhDUjokQBzyanaoI1BTHAuAwlZ0gPBb4kQtlYPaOQovuNqHaIuE3eXDHY2m1ilzzLDWfr7VThlsfNDw3Nl5ocapvDshq4QDoaoftrZNVTqaPsq_Xlmlxe5vToNFxFbIZ7emGqwxOcPKvVX84bXuLVDKkEwnKvNvvl_eqbsvZIcPItBDe4K7vAd3_mNxBv8tX7ZbmmAZ7XFazmNQa6fA1Ob8SnOtfO9jfqZv8g5EEqzHl9zCIH4awfzweA7RzjOoQAhZS27-mlVyOm9GEmo_hsR4b-AM2Ts4fRQrxgwKg","token_type":"Bearer","refresh_token":"eyJyZWZyZXNoVG9rZW5WYWx1ZSI6ImUwMzNmMDRjLWI0MzctNDgzOS1hNWEzLWEwYjVmZDU5NjIxOCIsImdhcm1pbkd1aWQiOiI0MjRmYmU5Ny1hODlkLTQ3ZWItYTFjYi1jYmViN2YwMGViODUifQ==","expires_in":3599,"refresh_token_expires_in":7199}
                
                garmin.0
                2023-11-07 10:00:26.929	debug	"<!DOCTYPE html>\n<html class=\"signed-in\" lang=\"de\">\n\n\n\n<head>\n <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\"/>\n <meta charset=\"UTF-8\"/>\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"/>\n\n <title>Garmin Connect</title>\n\n \n\n\n \n\n <link rel=\"shortcut icon\" href=\"/modern/images/favicon.ico\" />\n\n <!-- Connect Styles -->\n \n <link rel=\"stylesheet\" type=\"text/css\" href=\"/modern/css/dropzone.min.css?bust=4.72.4.2\" />\n <link rel=\"stylesheet\" type=\"text/css\" href=\"/web-react/styles/global.css?bust=4.72.4.2\" />\n \n \n\n \n\n <!-- to be modify the google fonts in cdn here -->\n <!--garmin.cn-->\n\n \n \n <!-- FONTS -->\n <link rel='stylesheet' type='text/css' href=\"https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700&amp;subset=latin,cyrillic-ext,greek-ext,vietnamese\" />\n \n\n\n\n <title>Connect</title>\n</head>\n\n\n<body>\n<a href=\"connectagent://launch\" id=\"notify-agent\" style=\"display: none\" tabindex=\"-1\"><!-- dummy comment --></a>\n\n\n\n<div class=\"connect-container\">\n\n <nav class=\"main-nav hide\"><!-- main navigation --></nav>\n\n <div class=\"react-global-modal\"><!-- react-global-modal --></div>\n\n <div class=\"main-body\">\n <!-- Header -->\n \n\n <header class=\"header hide\">\n <!-- placeholder -->\n </header>\n\n <section class=\"beta-testers-survey-banner takeover-container\">\n <!-- placeholder -->\n </section>\n\n\n<div class=\"main-header\"></div>\n\n\n <!-- Content Container -->\n \n<div class=\"content clearfix\">\n\n \n <script>\n window.VIEWER_USERPREFERENCES = {\"availableTrainingDays\":null,\"heartRateFormat\":{\"formatKey\":\"bpm\",\"formatId\":21,\"maxFraction\":0,\"displayFormat\":null,\"groupingUsed\":false,\"minFraction\":0},\"golfSpeedUnit\":null,\"preferredLongTrainingDays\":null,\"dateFormat\":{\"formatKey\":\"ddmmyyyy\",\"formatId\":24,\"maxFraction\":0,\"displayFormat\":\"EEE, d MMM yyyy\",\"groupingUsed\":false,\"minFraction\":0},\"displayName\":\"bommel_030\",\"golfDistanceUnit\":\"statute_us\",\"timeZone\":\"Europe\\/Paris\",\"hydrationContainers\":[{\"volume\":100,\"unit\":\"milliliter\",\"name\":\"Gefäß 1\"},{\"volume\":500,\"unit\":\"milliliter\",\"name\":\"Gefäß 2\"},{\"volume\":750,\"unit\":\"milliliter\",\"name\":\"Gefäß 3\"}],\"hydrationMeasurementUnit\":\"milliliter\",\"powerFormat\":{\"formatKey\":\"power_zones\",\"formatId\":29,\"maxFraction\":1,\"displayFormat\":null,\"groupingUsed\":false,\"minFraction\":1},\"numberFormat\":\"decimal_comma\",\"firstDayOfWeek\":{\"dayName\":\"monday\",\"isPossibleFirstDay\":true,\"sortOrder\":3,\"dayId\":3},\"timeFormat\":{\"formatKey\":\"time_twenty_four_hr\",\"formatId\":33,\"maxFraction\":0,\"displayFormat\":\"H:mm\",\"groupingUsed\":false,\"minFraction\":0},\"measurementSystem\":\"metric\",\"golfElevationUnit\":null,\"preferredLocale\":\"de\"};\n window.VIEWER_SOCIAL_PROFILE = {\"runningTrainingSpeed\":0,\"swimmingTrainingSpeed\":0,\"showRecentDevice\":false,\"twitterUrl\":null,\"levelIsViewed\":false,\"bio\":null,\"activityStartVisibility\":\"private\",\"cyclingTrainingSpeed\":0,\"showHeight\":false,\"showBadges\":true,\"levelUpdateDate\":\"2023-06-17T13:29:46.0\",\"id\":2379666,\"showRecentFavorites\":false,\"makeGolfScorecardsPrivate\":false,\"activityHeartRateVisibility\":\"public\",\"profileVisibility\":\"following\",\"nameApproved\":true,\"garminGUID\":\"424fbe97-a89d-47eb-a1cb-cbeb7f00eb85\",\"otherMotivation\":null,\"showAgeRange\":false,\"showLifetimeTotals\":false,\"favoriteCyclingActivityTypes\":[],\"cyclingClassification\":null,\"otherPrimaryActivity\":null,\"userPointOffset\":0,\"userRoles\":[\"ROLE_OUTDOOR_USER\",\"ROLE_CONNECTUSER\",\"ROLE_FITNESS_USER\",\"ROLE_WELLNESS_USER\",\"ROLE_CONNECT_2_USER\"],\"profileId\":2400759,\"showActivityClass\":false,\"profileImageUrlSmall\":\"https:\\/\\/s3.amazonaws.com\\/garmin-connect-prod\\/profile_images\\/39f253fa-1f1d-444b-90e0-d2dadecbcb7d-2400759.png\",\"showRecentGear\":false,\"showLast12Months\":false,\"showGender\":true,\"displayName\":\"bommel_030\",\"personalWebsite\":null,\"motivation\":null,\"primaryActivity\":null,\"facebookUrl\":null,\"userLevel\":5,\"userPro\":false,\"favoriteActivityTypes\":[],\"courseVisibility\":\"public\",\"profileImageUuid\":\"c1166cf1-78a4-41d6-9b1b-2ea7131c84b9\",\"userPoint\":383,\"badgeVisibility\":\"following\",\"fullName\":\"Bommel\",\"showWeightClass\":false,\"allowGolfScoringByConnections\":true,\"levelPointThreshold\":620,\"userName\":\"bommel_030\",\"showVO2Max\":false,\"allowGolfLiveScoring\":false,\"profileImageUrlMedium\":\"https:\\/\\/s3.amazonaws.com\\/garmin-connect-prod\\/profile_images\\/71566b41-f46b-4b4e-a7fb-8a69c9952101-2400759.png\",\"otherActivity\":null,\"showUpcomingEvents\":false,\"showAge\":false,\"profileImageUrlLarge\":\"https:\\/\\/s3.amazonaws.com\\/garmin-connect-prod\\/profile_images\\/c1166cf1-78a4-41d6-9b1b-2ea7131c84b9-2400759.png\",\"location\":\"Schönwalde, Brandenburg\",\"showPersonalRecords\":false,\"activityMapVisibility\":\"public\",\"userProfileFullName\":\"Bommel\",\"cyclingMaxAvgPower\":0,\"showWeight\":false,\"activityPowerVisibility\":\"public\"};\n window.VIEWER_DASHBOARDS = [{\"dashboardTitle\":\"\",\"dashboardId\":681261,\"dashboardOrder\":1,\"ownerId\":2400759,\"dashboardTitleKey\":\"fitness_dashboard\"},{\"dashboardTitle\":\"\",\"dashboardId\":3070555,\"dashboardOrder\":2,\"ownerId\":2400759,\"dashboardTitleKey\":\"wellness_dashboard\"}];\n\n window.queueNotificationTimeout = 600000;\n window.queuePollRate = 600000;\n\n window.ERROR_VIEW = null;\n window.USER_PROFILE = null;\n\n window.viewerIsAuthenticated = true;\n\n window.SYSTEM_TIME_GMT = 1699347626848;\n window.SESSION_LENGTH = 2700000;\n window.GAUTH_HOST = \"https:\\/\\/sso.garmin.com\\/sso\";\n window.GARMIN_APP_URL = \"https:\\/\\/apps.garmin.com\\/connect?locale={locale}\";\n window.WEB_TOKEN = \"\";\n window.URL_BUST_VALUE = \"4.72.4.2\";\n\n window.IS_READONLY = null;\n window.PRODUCT_SUPPORT_MODE = null;\n window.IS_RACE_MANAGEMENT = null;\n\n window.JS_ERROR = true;\n window.DI_BACKENDS = {\"golf\":\"golf.garmin.com\",\"ghs\":\"ghs.connect.garmin.com\",\"insights\":\"insights.gcs.garmin.com\",\"gcs\":\"api.gcs.garmin.com\",\"gcapi\":\"connectapi.garmin.com\",\"omt\":\"omt.garmin.com\",\"gcsalt\":\"gcs.garmin.com\",\"didt\":\"api-didt-test.garmin.com\",\"atp\":\"atp.gcs.garmin.com\"};\n window.PREFERENCES = {\"5b5ea560-3015-46c8-9f15-28c038165b87\":\"ROLE_MBTESTER\",\"ce34657d-8a85-4b6e-8bb4-00897590c217\":\"ROLE_CONNECTUSER\",\"5c8d3401-e6e7-4354-9095-39526016a47c\":\"ROLE_CONNECTUSER\",\"d3c94498-8962-4a62-bd3a-0d80a08e3386\":\"false\",\"7ae52c9a-1967-46e9-952f-3e40e3770bde\":\"ROLE_CONNECTUSER\"};\n </script>\n\n <script src=\"/web-react/static/js/vendor.js?bust=4.72.4.2\"></script>\n <script src=\"/web-react/static/js/backbone-lib.js?bust=4.72.4.2\"></script>\n <script src=\"/web-react/static/js/bundle.js?bust=4.72.4.2\"></script>\n</div>\n\n <!-- END .content -->\n\n <!-- Footer -->\n <div class=\"main-footer\"></div>\n <!-- END .footer -->\n <p style=\"display: none;\" id=\"garmin-connect-version\">4.72.4.2</p>\n </div>\n\n <!-- END .container -->\n</div>\n\n<style>\n .privacy-overlay {\n position: fixed; /* Sit on top of the page content */\n width: 100%; /* Full width (cover the whole page) */\n height: 100%; /* Full height (cover the whole page) */\n top: 0;\n left: 0;\n background-color: #fff;\n z-index: 9999; /* Specify a stack order in case you're using a different order for other elements */\n }\n</style>\n\n<div id=\"overlay\" class=\"privacy-overlay\">\n</div>\n\n<script defer src=\"https://static.cloudflareinsights.com/beacon.min.js/v84a3a4012de94ce1a686ba8c167c359c1696973893317\" integrity=\"sha512-euoFGowhlaLqXsPWQ48qSkBSCFs3DPRyiwVu3FjR96cMPx+Fr+gpWRhIafcHwqwCqWS42RZhIudOvEI+Ckf6MA==\" data-cf-beacon='{\"rayId\":\"822462c69bc9160d\",\"b\":1,\"version\":\"2023.10.0\",\"token\":\"1bd18b8f69214e379ef7bd34509191ae\"}' crossorigin=\"anonymous\"></script>\n</body>\n\n\n\n</html>"
                
                garmin.0
                2023-11-07 10:00:25.455	debug	"<!DOCTYPE html>\n<html class=\"no-js\">\n\t<head>\n\t\t<title>Success</title>\n\t\t<meta charset=\"utf-8\">\n\t\t<meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge;\" />\n\t\t<meta name=\"description\" content=\"\">\n\t\t<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n\t\t<meta http-equiv=\"cleartype\" content=\"on\">\n\t\t<script type=\"text/javascript\" src=\"/sso/js/jquery/3.7.1/jquery.min.js?20210319\"></script>\n\t\t<script type=\"text/javascript\">jQuery.noConflict();</script>\n\t\t<script type=\"text/javascript\" src=\"/sso/js/json2.js\"></script>\n\t\t<script type=\"text/javascript\" src=\"/sso/js/consoleUtils.js?20210319\"></script>\n\t\t<script type=\"text/javascript\" src=\"/sso/js/postmessage.js?20210319\"></script>\n\t\t<script type=\"text/javascript\">\n\t\t\tvar redirectAfterAccountLoginUrl \t = \"https:\\/\\/connect.garmin.com\\/modern\\/\";\n\t\t\tvar redirectAfterAccountCreationUrl = \"https:\\/\\/connect.garmin.com\\/modern\\/\";\n\t\t\tvar consumeServiceTicket \t = \"false\";\n\t\t\tvar service_url \t = \"https:\\/\\/connect.garmin.com\\/modern\\/\";\n\t\t\tvar parent_url \t = \"https:\\/\\/connect.garmin.com\\/signin\";\n\t\t\tvar response_url \t = \"https:\\/\\/connect.garmin.com\\/modern\\/?ticket=ST-0832024-LCBlkytjV1VKQhfBsJFR-cas\";\n\t\t\tvar logintoken \t = \"\";\n\t\t\tvar socialLogin \t = \"\";\n\t\t\tvar performMFACheck = \"false\";\n\n\t\t\t// Decode url if it's encoded unnecessarily (which is happening when SSO GAuth logins redisplay the login page due to session timeouts.)\n\t\t\tif (response_url.indexOf('%3A%2F%2F') != -1) {\n\t\t\t\tresponse_url = decodeURIComponent(response_url);\n\t\t\t}\n\t\t\tresponse_url = response_url.replace(new RegExp(\"&amp;\", 'g'),\"&\");\n\n\t\t\tvar service_ticket = response_url.substring(response_url.indexOf('ticket=') + 7, response_url.length);\n\n\t\t\tif (redirectAfterAccountLoginUrl) {\n\t\t\t\tconsoleInfo('casEmbedSuccess.html: redirectAfterAccountLoginUrl: [' + redirectAfterAccountLoginUrl + ']');\n\t\t\t}\n\t\t\tconsoleInfo('casEmbedSuccess.html: consumeServiceTicket: [' + consumeServiceTicket + ']');\n\t\t\tconsoleInfo('casEmbedSuccess.html: service_url: [' + service_url + ']');\n\t\t\tconsoleInfo('casEmbedSuccess.html: parent_url: [' + parent_url + ']');\n\t\t\tconsoleInfo('casEmbedSuccess.html: response_url: [' + response_url + ']');\n\t\t\tconsoleInfo('casEmbedSuccess.html: service_ticket: [' + service_ticket + ']');\n\t\t\tif (logintoken) {\n\t\t\t\tconsoleInfo('casEmbedSuccess.html: logintoken: [' + logintoken + ']');\n\t\t\t}\n\t\t\tif (socialLogin) {\n\t\t\t\tconsoleInfo('casEmbedSuccess.html: socialLogin: [' + socialLogin + ']');\n\t\t\t}\n\n\t\t\tfunction send(msg) {\n\t\t\t\tconsoleInfo('casEmbedSuccess.html: send(): Calling XD.postMessage(msg:[' + JSON.stringify(msg) + '], target_url:[' + parent_url + '])...');\n\t\t\t\tXD.postMessage(msg, parent_url, parent);\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tfunction redirect(target){\n\t\t\t\tvar embedWidget = \"false\";\n\t\t\t\tif (embedWidget != 'true') {\n\t\t\t\t\tif (logintoken || socialLogin) {\n\t\t\t\t\t\t// Tell parent to close opened Gauth lite box.\n\t\t\t\t\t\tsend({'closeLiteBox':'1'});\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Tell parent to resize Gauth widget's height to just that of the loading icon.\n\t\t\t\t\t\tsend({'gauthHeight':jQuery(\"#GAuth-component\").height()});\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (window.opener != null) {\n\t\t\t\t\tvar iframeParent = window.opener.parent;\n\t\t\t\t\tiframeParent.location.href = target;\n\t\t\t\t\twindow.close();\n\t\t\t\t} else {\n\t\t\t\t\t// If the \"redirectAfterAccountLoginUrl\" GAuth config parameter was specified,\n\t\t\t\t\t// a full page refresh upon logon was requested, so redirect the parent window upon login.\n\t\t\t\t\tif (redirectAfterAccountLoginUrl || redirectAfterAccountCreationUrl || (socialLogin && socialLogin === 'true') || (performMFACheck && performMFACheck === 'true')) {\n\n\t\t\t\t\t\tif (embedWidget != 'true') {\n\t\t\t\t\t\t\tsend({'status':'SUCCESS', 'successDetails':'Login Successful'});\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Redirect parent of login iframe to requested service URL with ?ST=<Service Ticket ID> appended,\n\t\t\t\t\t\t// so the webapp can validate the service ticket and log the user on to the webapp.\n\t\t\t\t\t\tconsoleInfo('casEmbedSuccess.html: Calling parent.location.href = [' + response_url + '];...');\n\t\t\t\t\t\ttop.location.href = response_url;\n\n\t\t\t\t\t// Else if GAuth was configured not to consume the service ticket, send the service ticket and service url.\n\t\t\t\t\t// It's then up to the parent page to hide the GAuth widget and validate the service ticket.\n\t\t\t\t\t} else if (consumeServiceTicket == 'false') {\n\n\t\t\t\t\t\tsend({'status':'SUCCESS', 'successDetails':'Login Successful', 'serviceTicket':service_ticket, 'serviceUrl':service_url});\n\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Else consume the service ticket and log the user into the parent webapp, by making a JSONP request to the response url.\n\t\t\t\t\t\t// This service ticket request to the parent webapp will return a small amount of JSON that we\n\t\t\t\t\t\t// can send in the success event to the parent page to notify them of successful logon\n\t\t\t\t\t\t// It's then up to the parent page to hide the GAuth widget and do whatever it wants.\n\t\t\t\t\t\tconsoleInfo('casEmbedSuccess.html: Loading ajax jsonp URL: [' + response_url + ']');\n\t\t\t\t\t\tjQuery.ajax({\n\t\t\t\t\t\t\ttype: \"REDIRECT\",\n\t\t\t\t\t\t\turl: response_url,\n\t\t\t\t\t\t\tdataType: 'jsonp',\n\t\t\t\t\t\t\terror: function(xhr, status, error) {\n\t\t\t\t\t\t\t\tconsoleError('casEmbedSuccess.html: Error loading ajax jsonp URL: [' + response_url + ']! Error: ' + error);\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tsuccess: function( data, status, xhr ) {\n\t\t\t\t\t\t\t\tconsoleInfo('casEmbedSuccess.html: success loading ajax jsonp url. data: [' + data + ']');\n\t\t\t\t\t\t\t\tvar userdata = data;\n\t\t\t\t\t\t\t\tif (typeof(userdata) === 'string') {\n\t\t\t\t\t\t\t\t\tuserdata = JSON.parse(data);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tconsoleInfo('casGenericRedirect.jsp: customerId: [' + userdata.customerId\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t+ '], username: [' + userdata.username\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t+ '], rememberMe: [' + userdata.rememberMe\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t+ '], password: [' + userdata.password\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t+ '], email: [' + userdata.email\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t+ '], displayName: [' + userdata.displayName\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t+ '], firstName: [' + userdata.firstName\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t+ '], lastName: [' + userdata.lastName\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t+ '], localePreference: [' + userdata.localePreference\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t+ '], addressLine1: [' + userdata.addressLine1\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t+ '], addressLine2: [' + userdata.addressLine2\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t+ '], cityName: [' + userdata.cityName\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t+ '], state: [' + userdata.state\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t+ '], postalCode: [' + userdata.postalCode\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t+ '], country: [' + userdata.country\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t+ '], passwordChangeRequired: [' + userdata.passwordChangeRequired\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t+ '], lastLogin: [' + userdata.lastLogin\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t+ '], erpCustomerNumber: [' + userdata.erpCustomerNumber\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t+ ']');\n\t\t\t\t\t\t\t\tsend({'status' : 'SUCCESS',\n\t\t\t\t\t\t\t\t\t\t\t'successDetails' : 'Login Successful',\n\t\t\t\t\t\t\t\t\t\t\t'customerId' : userdata.customerId,\n\t\t\t\t\t\t\t\t\t\t\t'username' : userdata.username,\n\t\t\t\t\t\t\t\t\t\t\t'rememberMe' : userdata.rememberMe,\n\t\t\t\t\t\t\t\t\t\t\t'password' : userdata.password,\n\t\t\t\t\t\t\t\t\t\t\t'email' : userdata.email,\n\t\t\t\t\t\t\t\t\t\t\t'displayName' : userdata.displayName,\n\t\t\t\t\t\t\t\t\t\t\t'firstName' : userdata.firstName,\n\t\t\t\t\t\t\t\t\t\t\t'lastName' : userdata.lastName,\n\t\t\t\t\t\t\t\t\t\t\t'localePreference' : userdata.localePreference,\n\t\t\t\t\t\t\t\t\t\t\t'addressLine1' : userdata.addressLine1,\n\t\t\t\t\t\t\t\t\t\t\t'addressLine2' : userdata.addressLine2,\n\t\t\t\t\t\t\t\t\t\t\t'cityName' : userdata.cityName,\n\t\t\t\t\t\t\t\t\t\t\t'state' : userdata.state,\n\t\t\t\t\t\t\t\t\t\t\t'postalCode' : userdata.postalCode,\n\t\t\t\t\t\t\t\t\t\t\t'country' : userdata.country,\n\t\t\t\t\t\t\t\t\t\t\t'passwordChangeRequired' : userdata.passwordChangeRequired,\n\t\t\t\t\t\t\t\t\t\t\t'lastLogin' : userdata.lastLogin,\n\t\t\t\t\t\t\t\t\t\t\t'erpCustomerNumber' : userdata.erpCustomerNumber\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t</script>\n\t</head>\n\t<body>\n\t\t<div id=\"GAuth-component\">\n\t\t\t<img src='/sso/images/ajax-loader.gif' class=\"loaderImage\"/>\n\t\t</div>\n\t\t<script type=\"text/javascript\">\n\t\t\tjQuery(document).ready(function(){\n\t\t\t\tvar service = \"https:\\/\\/connect.garmin.com\\/modern\\/\";\n\t\t\t\tconsoleInfo(\"casEmbedSuccess.html: ready, calling redirect('\" + service + \"')...\");\n\t\t\t\tredirect(service);\n\t\t\t});\n\t\t</script>\n\t<script>(function(){var js = \"window['__CF$cv$params']={r:'822462bb5da144f8',t:'MTY5OTM0NzYyNS40NDEwMDA='};_cpo=document.createElement('script');_cpo.nonce='',_cpo.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js',document.getElementsByTagName('head')[0].appendChild(_cpo);\";var _0xh = document.createElement('iframe');_0xh.height = 1;_0xh.width = 1;_0xh.style.position = 'absolute';_0xh.style.top = 0;_0xh.style.left = 0;_0xh.style.border = 'none';_0xh.style.visibility = 'hidden';document.body.appendChild(_0xh);function handler() {var _0xi = _0xh.contentDocument || _0xh.contentWindow.document;if (_0xi) {var _0xj = _0xi.createElement('script');_0xj.innerHTML = js;_0xi.getElementsByTagName('head')[0].appendChild(_0xj);}}if (document.readyState !== 'loading') {handler();} else if (window.addEventListener) {document.addEventListener('DOMContentLoaded', handler);} else {var prev = document.onreadystatechange || function () {};document.onreadystatechange = function (e) {prev(e);if (document.readyState !== 'loading') {document.onreadystatechange = prev;handler();}};}})();</script></body>\n</html>\n"
                
                garmin.0
                2023-11-07 10:00:24.108	debug	"<!DOCTYPE html>\n<html lang=\"en\" class=\"no-js\">\n <head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <meta name=\"viewport\" content=\"width=device-width\" />\n <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge;\" />\n <title>GARMIN Authentication Application</title>\n <link href=\"/sso/css/GAuth.css?20210406\" rel=\"stylesheet\" type=\"text/css\" media=\"all\" />\n\n\t <link rel=\"stylesheet\" href=\"https://connect.garmin.com/gauth-custom-v1.2-min.css\"/>\n\n <script type=\"text/javascript\" src=\"/sso/js/jquery/3.7.1/jquery.min.js?20210319\"></script>\n <script type=\"text/javascript\">jQuery.noConflict();</script>\n\t\t<script type=\"text/javascript\" src=\"/sso/js/jquery-validate/1.16.0/jquery.validate.min.js?20210319\"></script>\n <script type=\"text/javascript\" src=\"/sso/js/jsUtils.js?20210406\"></script>\n <script type=\"text/javascript\" src=\"/sso/js/json2.js\"></script>\n <script type=\"text/javascript\" src=\"/sso/js/consoleUtils.js?20210319\"></script>\n <script type=\"text/javascript\" src=\"/sso/js/postmessage.js?20210319\"></script>\n <script type=\"text/javascript\" src=\"/sso/js/popupWindow.js\"></script>\n <script type=\"text/javascript\" src=\"/sso/js/base.js?20231020\"></script>\n\t\t<script type=\"text/javascript\" src=\"/sso/js/gigyaUtils.js?20210319\"></script>\n <script type=\"text/javascript\" src=\"/sso/js/login.js?20211102\"></script>\n <script type=\"text/javascript\" src=\"/sso/js/reCaptchaUtil.js?20230706\"></script>\n\n <script>\n var recaptchaSiteKey = null;\n var reCaptchaURL = \"\\\\\\/reCaptcha?service=https%3A%2F%2Fconnect.garmin.com%2Fmodern%2F\\u0026webhost=https%3A%2F%2Fconnect.garmin.com%2Fmodern%2F\\u0026source=https%3A%2F%2Fconnect.garmin.com%2Fsignin%2F\\u0026redirectAfterAccountLoginUrl=https%3A%2F%2Fconnect.garmin.com%2Fmodern%2F\\u0026redirectAfterAccountCreationUrl=https%3A%2F%2Fconnect.garmin.com%2Fmodern%2F\\u0026gauthHost=https%3A%2F%2Fsso.garmin.com%2Fsso\\u0026locale=en_GB\\u0026id=gauth-widget\\u0026cssUrl=https%3A%2F%2Fconnect.garmin.com%2Fgauth-custom-v1.2-min.css\\u0026privacyStatementUrl=https%3A%2F%2Fwww.garmin.com%2Fen-GB%2Fprivacy%2Fconnect%2F\\u0026clientId=GarminConnect\\u0026rememberMeShown=true\\u0026rememberMeChecked=false\\u0026createAccountShown=true\\u0026openCreateAccount=false\\u0026displayNameShown=false\\u0026consumeServiceTicket=false\\u0026initialFocus=true\\u0026embedWidget=false\\u0026socialEnabled=false\\u0026generateExtraServiceTicket=true\\u0026generateTwoExtraServiceTickets=true\\u0026generateNoServiceTicket=false\\u0026globalOptInShown=true\\u0026globalOptInChecked=false\\u0026mobile=false\\u0026connectLegalTerms=true\\u0026showTermsOfUse=false\\u0026showPrivacyPolicy=false\\u0026showConnectLegalAge=false\\u0026locationPromptShown=true\\u0026showPassword=true\\u0026useCustomHeader=false\\u0026mfaRequired=false\\u0026performMFACheck=false\\u0026rememberMyBrowserShown=true\\u0026rememberMyBrowserChecked=false\";\n var isRecaptchaEnabled = null;\n var recaptchaToken = null; \n </script>\n <script type=\"text/javascript\">\n var parent_url = \"https:\\/\\/connect.garmin.com\\/signin\\/\";\n var status \t\t\t= \"\";\n\t\t\tvar result = \"\";\n\t\t\tvar clientId\t\t= 'GarminConnect';\n\t\t\tvar embedWidget \t= false;\n\t\t\tvar isUsernameDefined = (false == true) || (false == true);\n\n // Gigya callback to SocialSignInController for brand new social network users redirects to this page\n // to popup Create or Link Social Account page, but has a possibly mangled source parameter\n // where \"?\" is set as \"<QM>\", so translate it back to \"?\" here.\n parent_url = parent_url.replace('<QM>', '?');\n var parent_scheme = parent_url.substring(0, parent_url.indexOf(\"://\"));\n var parent_hostname = parent_url.substring(parent_scheme.length + 3, parent_url.length);\n if (parent_hostname.indexOf(\"/\") != -1) {\n parent_hostname = parent_hostname.substring(0, parent_hostname.indexOf(\"/\"));\n }\n var parentHost \t = parent_scheme + \"://\" + parent_hostname;\n\t\t\tvar createAccountConfigURL = '\\/createNewAccount?service%3Dhttps%253A%252F%252Fconnect.garmin.com%252Fmodern%252F%26webhost%3Dhttps%253A%252F%252Fconnect.garmin.com%252Fmodern%252F%26source%3Dhttps%253A%252F%252Fconnect.garmin.com%252Fsignin%252F%26redirectAfterAccountLoginUrl%3Dhttps%253A%252F%252Fconnect.garmin.com%252Fmodern%252F%26redirectAfterAccountCreationUrl%3Dhttps%253A%252F%252Fconnect.garmin.com%252Fmodern%252F%26gauthHost%3Dhttps%253A%252F%252Fsso.garmin.com%252Fsso%26locale%3Den_GB%26id%3Dgauth-widget%26cssUrl%3Dhttps%253A%252F%252Fconnect.garmin.com%252Fgauth-custom-v1.2-min.css%26privacyStatementUrl%3Dhttps%253A%252F%252Fwww.garmin.com%252Fen-GB%252Fprivacy%252Fconnect%252F%26clientId%3DGarminConnect%26rememberMeShown%3Dtrue%26rememberMeChecked%3Dfalse%26createAccountShown%3Dtrue%26openCreateAccount%3Dfalse%26displayNameShown%3Dfalse%26consumeServiceTicket%3Dfalse%26initialFocus%3Dtrue%26embedWidget%3Dfalse%26socialEnabled%3Dfalse%26generateExtraServiceTicket%3Dtrue%26generateTwoExtraServiceTickets%3Dtrue%26generateNoServiceTicket%3Dfalse%26globalOptInShown%3Dtrue%26globalOptInChecked%3Dfalse%26mobile%3Dfalse%26connectLegalTerms%3Dtrue%26showTermsOfUse%3Dfalse%26showPrivacyPolicy%3Dfalse%26showConnectLegalAge%3Dfalse%26locationPromptShown%3Dtrue%26showPassword%3Dtrue%26useCustomHeader%3Dfalse%26mfaRequired%3Dfalse%26performMFACheck%3Dfalse%26rememberMyBrowserShown%3Dtrue%26rememberMyBrowserChecked%3Dfalse';\n var socialConfigURL = 'https://sso.garmin.com/sso/socialSignIn?service%3Dhttps%3A%2F%2Fconnect.garmin.com%2Fmodern%2F%26webhost%3Dhttps%3A%2F%2Fconnect.garmin.com%2Fmodern%2F%26source%3Dhttps%3A%2F%2Fconnect.garmin.com%2Fsignin%2F%26redirectAfterAccountLoginUrl%3Dhttps%3A%2F%2Fconnect.garmin.com%2Fmodern%2F%26redirectAfterAccountCreationUrl%3Dhttps%3A%2F%2Fconnect.garmin.com%2Fmodern%2F%26gauthHost%3Dhttps%3A%2F%2Fsso.garmin.com%2Fsso%26locale%3Den_GB%26id%3Dgauth-widget%26cssUrl%3Dhttps%3A%2F%2Fconnect.garmin.com%2Fgauth-custom-v1.2-min.css%26privacyStatementUrl%3Dhttps%3A%2F%2Fwww.garmin.com%2Fen-GB%2Fprivacy%2Fconnect%2F%26clientId%3DGarminConnect%26rememberMeShown%3Dtrue%26rememberMeChecked%3Dfalse%26createAccountShown%3Dtrue%26openCreateAccount%3Dfalse%26displayNameShown%3Dfalse%26consumeServiceTicket%3Dfalse%26initialFocus%3Dtrue%26embedWidget%3Dfalse%26socialEnabled%3Dfalse%26generateExtraServiceTicket%3Dtrue%26generateTwoExtraServiceTickets%3Dtrue%26generateNoServiceTicket%3Dfalse%26globalOptInShown%3Dtrue%26globalOptInChecked%3Dfalse%26mobile%3Dfalse%26connectLegalTerms%3Dtrue%26showTermsOfUse%3Dfalse%26showPrivacyPolicy%3Dfalse%26showConnectLegalAge%3Dfalse%26locationPromptShown%3Dtrue%26showPassword%3Dtrue%26useCustomHeader%3Dfalse%26mfaRequired%3Dfalse%26performMFACheck%3Dfalse%26rememberMyBrowserShown%3Dtrue%26rememberMyBrowserChecked%3Dfalse';\n var gigyaURL = \"https://cdns.gigya.com/js/gigya.js?apiKey=2_R3ZGY8Bqlwwk3_63knoD9wA_m-Y19mAgW61bF_s5k9gymYnMEAtMrJiF5MjF-U7B\";\n\n if (createAccountConfigURL.indexOf('%253A%252F%252F') != -1) {\n \tcreateAccountConfigURL = decodeURIComponent(createAccountConfigURL);\n }\n consoleInfo('signin.html embedWidget: false, createAccountConfigURL: \\/createNewAccount?service%3Dhttps%253A%252F%252Fconnect.garmin.com%252Fmodern%252F%26webhost%3Dhttps%253A%252F%252Fconnect.garmin.com%252Fmodern%252F%26source%3Dhttps%253A%252F%252Fconnect.garmin.com%252Fsignin%252F%26redirectAfterAccountLoginUrl%3Dhttps%253A%252F%252Fconnect.garmin.com%252Fmodern%252F%26redirectAfterAccountCreationUrl%3Dhttps%253A%252F%252Fconnect.garmin.com%252Fmodern%252F%26gauthHost%3Dhttps%253A%252F%252Fsso.garmin.com%252Fsso%26locale%3Den_GB%26id%3Dgauth-widget%26cssUrl%3Dhttps%253A%252F%252Fconnect.garmin.com%252Fgauth-custom-v1.2-min.css%26privacyStatementUrl%3Dhttps%253A%252F%252Fwww.garmin.com%252Fen-GB%252Fprivacy%252Fconnect%252F%26clientId%3DGarminConnect%26rememberMeShown%3Dtrue%26rememberMeChecked%3Dfalse%26createAccountShown%3Dtrue%26openCreateAccount%3Dfalse%26displayNameShown%3Dfalse%26consumeServiceTicket%3Dfalse%26initialFocus%3Dtrue%26embedWidget%3Dfalse%26socialEnabled%3Dfalse%26generateExtraServiceTicket%3Dtrue%26generateTwoExtraServiceTickets%3Dtrue%26generateNoServiceTicket%3Dfalse%26globalOptInShown%3Dtrue%26globalOptInChecked%3Dfalse%26mobile%3Dfalse%26connectLegalTerms%3Dtrue%26showTermsOfUse%3Dfalse%26showPrivacyPolicy%3Dfalse%26showConnectLegalAge%3Dfalse%26locationPromptShown%3Dtrue%26showPassword%3Dtrue%26useCustomHeader%3Dfalse%26mfaRequired%3Dfalse%26performMFACheck%3Dfalse%26rememberMyBrowserShown%3Dtrue%26rememberMyBrowserChecked%3Dfalse, socialEnabled: false, gigyaSupported: true, socialConfigURL(): https://sso.garmin.com/sso/socialSignIn?service%3Dhttps%3A%2F%2Fconnect.garmin.com%2Fmodern%2F%26webhost%3Dhttps%3A%2F%2Fconnect.garmin.com%2Fmodern%2F%26source%3Dhttps%3A%2F%2Fconnect.garmin.com%2Fsignin%2F%26redirectAfterAccountLoginUrl%3Dhttps%3A%2F%2Fconnect.garmin.com%2Fmodern%2F%26redirectAfterAccountCreationUrl%3Dhttps%3A%2F%2Fconnect.garmin.com%2Fmodern%2F%26gauthHost%3Dhttps%3A%2F%2Fsso.garmin.com%2Fsso%26locale%3Den_GB%26id%3Dgauth-widget%26cssUrl%3Dhttps%3A%2F%2Fconnect.garmin.com%2Fgauth-custom-v1.2-min.css%26privacyStatementUrl%3Dhttps%3A%2F%2Fwww.garmin.com%2Fen-GB%2Fprivacy%2Fconnect%2F%26clientId%3DGarminConnect%26rememberMeShown%3Dtrue%26rememberMeChecked%3Dfalse%26createAccountShown%3Dtrue%26openCreateAccount%3Dfalse%26displayNameShown%3Dfalse%26consumeServiceTicket%3Dfalse%26initialFocus%3Dtrue%26embedWidget%3Dfalse%26socialEnabled%3Dfalse%26generateExtraServiceTicket%3Dtrue%26generateTwoExtraServiceTickets%3Dtrue%26generateNoServiceTicket%3Dfalse%26globalOptInShown%3Dtrue%26globalOptInChecked%3Dfalse%26mobile%3Dfalse%26connectLegalTerms%3Dtrue%26showTermsOfUse%3Dfalse%26showPrivacyPolicy%3Dfalse%26showConnectLegalAge%3Dfalse%26locationPromptShown%3Dtrue%26showPassword%3Dtrue%26useCustomHeader%3Dfalse%26mfaRequired%3Dfalse%26performMFACheck%3Dfalse%26rememberMyBrowserShown%3Dtrue%26rememberMyBrowserChecked%3Dfalse');\n\n if (socialConfigURL.indexOf('%3A%2F%2F') != -1) {\n \tsocialConfigURL = decodeURIComponent(socialConfigURL);\n }\n\n if( status != null && status != ''){\n \tsend({'status':status});\n }\n\n jQuery(document).ready( function(){\n\n\n consoleInfo(\"signin.html: setting field validation rules...\");\n\n jQuery(\"#username\").rules(\"add\",{\n required: true,\n messages: {\n required: \"Email is required.\"\n }});\n\n jQuery(\"#password\").rules(\"add\", {\n required: true,\n messages: {\n required: \"Password is required.\"\n }\n });\n\n consoleInfo(\"signin.html: done setting field validation rules...\");\n\n });\n\n XD.receiveMessage(function(m){\n consoleInfo(\"signin.html: \" + m.data + \" received on \" + window.location.host);\n if (m && m.data) {\n var md = m.data;\n if (typeof(md) === 'string') {\n md = JSON.parse(m.data);\n }\n if (md.setUsername) {\n consoleInfo(\"signin.html: Setting username \\\"\" + md.username + \"\\\"...\");\n jQuery(\"#signInWithDiffLink\").click(); // Ensure the normal login form is shown.\n jQuery(\"#username\").val(md.username);\n jQuery(\"#password\").focus();\n }\n }\n }, parentHost);\n </script>\n </head>\n <body>\n\n <!-- begin GAuth component -->\n <div id=\"GAuth-component\">\n <!-- begin login component-->\n <div id=\"login-component\" class=\"blueForm-basic\">\n <input type=\"hidden\" id=\"queryString\" value=\"service=https%3A%2F%2Fconnect.garmin.com%2Fmodern%2F&amp;webhost=https%3A%2F%2Fconnect.garmin.com%2Fmodern%2F&amp;source=https%3A%2F%2Fconnect.garmin.com%2Fsignin%2F&amp;redirectAfterAccountLoginUrl=https%3A%2F%2Fconnect.garmin.com%2Fmodern%2F&amp;redirectAfterAccountCreationUrl=https%3A%2F%2Fconnect.garmin.com%2Fmodern%2F&amp;gauthHost=https%3A%2F%2Fsso.garmin.com%2Fsso&amp;locale=en_GB&amp;id=gauth-widget&amp;cssUrl=https%3A%2F%2Fconnect.garmin.com%2Fgauth-custom-v1.2-min.css&amp;privacyStatementUrl=https%3A%2F%2Fwww.garmin.com%2Fen-GB%2Fprivacy%2Fconnect%2F&amp;clientId=GarminConnect&amp;rememberMeShown=true&amp;rememberMeChecked=false&amp;createAccountShown=true&amp;openCreateAccount=false&amp;displayNameShown=false&amp;consumeServiceTicket=false&amp;initialFocus=true&amp;embedWidget=false&amp;socialEnabled=false&amp;generateExtraServiceTicket=true&amp;generateTwoExtraServiceTickets=true&amp;generateNoServiceTicket=false&amp;globalOptInShown=true&amp;globalOptInChecked=false&amp;mobile=false&amp;connectLegalTerms=true&amp;showTermsOfUse=false&amp;showPrivacyPolicy=false&amp;showConnectLegalAge=false&amp;locationPromptShown=true&amp;showPassword=true&amp;useCustomHeader=false&amp;mfaRequired=false&amp;performMFACheck=false&amp;rememberMyBrowserShown=true&amp;rememberMyBrowserChecked=false\" />\n\t \t <input type=\"hidden\" id=\"contextPath\" value=\"/sso\" />\n <!-- begin login form -->\n <div id=\"login-state-default\">\n <h2>Sign In</h2>\n\n <form method=\"post\" id=\"login-form\">\n\n <div class=\"form-alert\">\n\t\t\t\t\t\t\t\n \n \n \n \n \n \n\n <div id=\"username-error\" style=\"display:none;\"></div>\n <div id=\"password-error\" style=\"display:none;\"></div>\n </div>\n <div class=\"textfield\">\n\t\t\t\t\t\t\t<label for=\"username\">Email</label>\n \t\t<!-- If the lockToEmailAddress parameter is specified then we want to mark the field as readonly,\n \t\tpreload the email address, and disable the other input so that null isn't sent to the server. We'll\n \t\talso style the field to have a darker grey background and disable the mouse pointer\n \t\t -->\n\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t<!-- If the lockToEmailAddress parameter is NOT specified then keep the existing functionality and disable the readonly input field\n\t\t\t\t\t\t\t -->\n\t\t\t\t\t\t\t <input class=\"login_email\" name=\"username\" id=\"username\" value=\"\" type=\"email\" spellcheck=\"false\" autocorrect=\"off\" autocapitalize=\"off\"/>\n\n </div>\n\n <div class=\"textfield\">\n <label for=\"password\">Password</label>\n <a id=\"loginforgotpassword\" class=\"login-forgot-password\" style=\"cursor:pointer\">(Forgot?)</a>\n <input type=\"password\" name=\"password\" id=\"password\" spellcheck=\"false\" autocorrect=\"off\" autocapitalize=\"off\" />\n <strong id=\"capslock-warning\" class=\"information\" title=\"Caps lock is on.\" style=\"display: none;\">Caps lock is on.</strong>\n\t\t\t\t\t </div>\n <input type=\"hidden\" name=\"embed\" value=\"false\"/>\n <input type=\"hidden\" name=\"_csrf\" value=\"30B49FDDC157F17F1A3F4266E7ED8D8C04EDF5487BBD88FE2C7F82976579D56A8B06DCB0784A2BE9E7ABCCBA93456A612BAB\" />\n <button type=\"submit\" id=\"login-btn-signin\" class=\"btn1\" accesskey=\"l\">Sign In</button>\n <span>\n\t <input type=\"checkbox\" name=\"rememberme\" id=\"login-remember-checkbox\" onClick=\"if (this.checked) { createAccountConfigURL += '&rememberme=on'; socialConfigURL += '&rememberme=on'; } else { createAccountConfigURL = createAccountConfigURL.replace('&rememberme=on', ''); socialConfigURL = socialConfigURL.replace('&rememberme=on', ''); }\"/>\n \t<label id=\"login-remember\" for=\"login-remember-checkbox\">Remember Me</label>\n </span>\n\n\n <!-- The existence of the \"rememberme\" parameter at all will remember the user! -->\n \n\n </form>\n </div>\n <!-- end login form -->\n\n <!-- begin Create Account message -->\n\t <div id=\"login-create-account\">\n\t <span>\n\t\t <span>Don&#39;t have an account?</span>\n\n\t \n\t <a href='javascript:void(0)' class=\"createAccountLink\" id=\"lnkCreateAccount\" title=\"Create Account\" >Create One</a>\n\t\t\t\t\t</span>\n\t </div>\n\t <!-- end Create Account message -->\n\n\t <!-- begin Social Sign In component -->\n\t <div id=\"SSI-component\">\n \n\n\t\t\t\t\t\n\t </div>\n\t <!-- end Social Sign In component -->\n <div class=\"clearfix\"></div> <!-- Ensure that GAuth-component div's height is computed correctly. -->\n </div>\n <!-- end login component-->\n\n\t\t</div>\n\t\t<!-- end GAuth component -->\n\n <script type=\"text/javascript\">\n jQuery(document).ready(function(){\n \tresizePageOnLoad(jQuery(\"#GAuth-component\").height());\n\n\t\t if(isUsernameDefined == true){\n\t\t // If the user's login just failed, redisplay the email/username specified, and focus them in the password field.\n\t\t jQuery(\"#password\").focus();\n\t\t } else if(true == true && result != \"PASSWORD_RESET_RESULT\"){\n // Otherwise focus them in the username field of the login dialog.\n jQuery(\"#username\").focus();\n }\n\n // Scroll to top of iframe to fix problem where Firefox 3.0-3.6 browsers initially show top of iframe cutoff.\n location.href=\"#\";\n\n if(!embedWidget){\n \tjQuery('.createAccountLink').click(function(){\n\t send({'openLiteBox':'createAccountLink', 'popupUrl': createAccountConfigURL, 'popupTitle':'Create An Account', 'clientId':clientId});\n\t });\n }\n });\n </script>\n <script>(function(){var js = \"window['__CF$cv$params']={r:'822462b56b45165b',t:'MTY5OTM0NzYyMy45MzEwMDA='};_cpo=document.createElement('script');_cpo.nonce='',_cpo.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js',document.getElementsByTagName('head')[0].appendChild(_cpo);\";var _0xh = document.createElement('iframe');_0xh.height = 1;_0xh.width = 1;_0xh.style.position = 'absolute';_0xh.style.top = 0;_0xh.style.left = 0;_0xh.style.border = 'none';_0xh.style.visibility = 'hidden';document.body.appendChild(_0xh);function handler() {var _0xi = _0xh.contentDocument || _0xh.contentWindow.document;if (_0xi) {var _0xj = _0xi.createElement('script');_0xj.innerHTML = js;_0xi.getElementsByTagName('head')[0].appendChild(_0xj);}}if (document.readyState !== 'loading') {handler();} else if (window.addEventListener) {document.addEventListener('DOMContentLoaded', handler);} else {var prev = document.onreadystatechange || function () {};document.onreadystatechange = function (e) {prev(e);if (document.readyState !== 'loading') {document.onreadystatechange = prev;handler();}};}})();</script></body>\n</html>\n"
                
                garmin.0
                2023-11-07 10:00:23.113	info	Login to Garmin
                
                garmin.0
                2023-11-07 10:00:23.079	debug	Schedule restart: 57 23 * * *
                
                garmin.0
                2023-11-07 10:00:23.057	info	starting. Version 0.0.4 in /opt/iobroker/node_modules/iobroker.garmin, node: v18.17.1, js-controller: 5.0.16
                
                admin.0
                2023-11-07 10:00:09.969	warn	garmin has an invalid jsonConfig: [{"instancePath":"","schemaPath":"#/required","keyword":"required","params":{"missingProperty":"type"},"message":"must have required property 'type'"}]
                
                T 1 Antwort Letzte Antwort
                0
                • B bommel_030

                  @tombox
                  Hab den Adapter schon lange nicht mehr genutzt da er bei mir regelmäßig abstürzt. Nach dem Post hab ich in mal wieder reaktivert, anbei das Debug-Log wenn ich den Adapter starte. Zumindest von den von mir verwendeten Werten wird keine mehr aktualisiert. Benutzername und Passwort sind korrekt.

                  
                  garmin.0
                  2023-11-07 10:00:28.354	error	""
                  
                  garmin.0
                  2023-11-07 10:00:28.353	error	AxiosError: Request failed with status code 402
                  
                  garmin.0
                  2023-11-07 10:00:28.353	error	https://connect.garmin.com/modern/proxy/weight-service/weight/dateRange?startDate=2023-11-01&endDate=2023-11-07
                  
                  garmin.0
                  2023-11-07 10:00:28.279	error	""
                  
                  garmin.0
                  2023-11-07 10:00:28.279	error	AxiosError: Request failed with status code 402
                  
                  garmin.0
                  2023-11-07 10:00:28.279	error	https://connect.garmin.com/modern/proxy/activitylist-service/activities/search/activities?start=0&limit=10
                  
                  garmin.0
                  2023-11-07 10:00:28.206	error	""
                  
                  garmin.0
                  2023-11-07 10:00:28.206	error	AxiosError: Request failed with status code 402
                  
                  garmin.0
                  2023-11-07 10:00:28.205	error	https://connect.garmin.com/modern/proxy/metrics-service/metrics/trainingstatus/aggregated/2023-11-07
                  
                  garmin.0
                  2023-11-07 10:00:28.124	error	""
                  
                  garmin.0
                  2023-11-07 10:00:28.124	error	AxiosError: Request failed with status code 402
                  
                  garmin.0
                  2023-11-07 10:00:28.124	error	https://connect.garmin.com/modern/proxy/userstats-service/wellness/daily/bommel_030?fromDate=2023-11-01
                  
                  garmin.0
                  2023-11-07 10:00:28.053	error	""
                  
                  garmin.0
                  2023-11-07 10:00:28.053	error	AxiosError: Request failed with status code 402
                  
                  garmin.0
                  2023-11-07 10:00:28.053	error	https://connect.garmin.com/modern/proxy/wellness-service/wellness/dailyStress/2023-11-07
                  
                  garmin.0
                  2023-11-07 10:00:27.978	error	""
                  
                  garmin.0
                  2023-11-07 10:00:27.978	error	AxiosError: Request failed with status code 402
                  
                  garmin.0
                  2023-11-07 10:00:27.977	error	https://connect.garmin.com/modern/proxy/wellness-service/wellness/dailySleepData/bommel_030?date=2023-11-07&nonSleepBufferMinutes=60
                  
                  garmin.0
                  2023-11-07 10:00:27.899	error	""
                  
                  garmin.0
                  2023-11-07 10:00:27.899	error	AxiosError: Request failed with status code 402
                  
                  garmin.0
                  2023-11-07 10:00:27.898	error	https://connect.garmin.com/modern/proxy/usersummary-service/usersummary/hydration/daily/2023-11-07
                  
                  garmin.0
                  2023-11-07 10:00:27.815	error	""
                  
                  garmin.0
                  2023-11-07 10:00:27.815	error	AxiosError: Request failed with status code 402
                  
                  garmin.0
                  2023-11-07 10:00:27.815	error	https://connect.garmin.com/modern/proxy/metrics-service/metrics/maxmet/daily/2023-11-07/2023-11-07
                  
                  garmin.0
                  2023-11-07 10:00:27.708	error	""
                  
                  garmin.0
                  2023-11-07 10:00:27.708	error	AxiosError: Request failed with status code 402
                  
                  garmin.0
                  2023-11-07 10:00:27.708	error	https://connect.garmin.com/modern/proxy/usersummary-service/usersummary/daily/bommel_030?calendarDate=2023-11-07
                  
                  garmin.0
                  2023-11-07 10:00:27.618	error	""
                  
                  garmin.0
                  2023-11-07 10:00:27.618	error	AxiosError: Request failed with status code 402
                  
                  garmin.0
                  2023-11-07 10:00:27.543	debug	{"scope":"COMMUNITY_COURSE_READ GOLF_API_READ GHS_HID ATP_READ GHS_SAMD INSIGHTS_READ COMMUNITY_COURSE_WRITE CONNECT_WRITE DIVE_SHARED_READ GHS_REGISTRATION DT_CLIENT_ANALYTICS_WRITE GOLF_API_WRITE INSIGHTS_WRITE PRODUCT_SEARCH_READ GOLF_SHARED_READ CONNECT_NON_SOCIAL_SHARED_READ CONNECT_READ ATP_WRITE","jti":"764eb129-84e2-4a89-a71d-615106000918","access_token":"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImRpLW9hdXRoLXNpZ25lci1wcm9kLTIwMjMtcTIifQ.eyJzY29wZSI6WyJBVFBfUkVBRCIsIkFUUF9XUklURSIsIkNPTU1VTklUWV9DT1VSU0VfUkVBRCIsIkNPTU1VTklUWV9DT1VSU0VfV1JJVEUiLCJDT05ORUNUX05PTl9TT0NJQUxfU0hBUkVEX1JFQUQiLCJDT05ORUNUX1JFQUQiLCJDT05ORUNUX1dSSVRFIiwiRElWRV9TSEFSRURfUkVBRCIsIkRUX0NMSUVOVF9BTkFMWVRJQ1NfV1JJVEUiLCJHSFNfSElEIiwiR0hTX1JFR0lTVFJBVElPTiIsIkdIU19TQU1EIiwiR09MRl9BUElfUkVBRCIsIkdPTEZfQVBJX1dSSVRFIiwiR09MRl9TSEFSRURfUkVBRCIsIklOU0lHSFRTX1JFQUQiLCJJTlNJR0hUU19XUklURSIsIlBST0RVQ1RfU0VBUkNIX1JFQUQiXSwiaXNzIjoiaHR0cHM6Ly9kaWF1dGguZ2FybWluLmNvbSIsImV4cCI6MTY5OTM1MTIyNywiaWF0IjoxNjk5MzQ3NjI3LCJnYXJtaW5fZ3VpZCI6IjQyNGZiZTk3LWE4OWQtNDdlYi1hMWNiLWNiZWI3ZjAwZWI4NSIsImp0aSI6Ijc2NGViMTI5LTg0ZTItNGE4OS1hNzFkLTYxNTEwNjAwMDkxOCIsImNsaWVudF9pZCI6IkNPTk5FQ1RfV0VCIiwiZmdwIjoiZWU4NjlhNDBjMWJiNTY2MTFjZDljOWRkYWI4OWZmNjk0YmJmYTNmOGQyNTVjMDQ4Y2FhM2FjNzI4ODZjNjU2ZSJ9.Mp6Tb9mKVELodO2kUPpjBUvWdVIfr14BLllw9_UDBKtOrOxhDUjokQBzyanaoI1BTHAuAwlZ0gPBb4kQtlYPaOQovuNqHaIuE3eXDHY2m1ilzzLDWfr7VThlsfNDw3Nl5ocapvDshq4QDoaoftrZNVTqaPsq_Xlmlxe5vToNFxFbIZ7emGqwxOcPKvVX84bXuLVDKkEwnKvNvvl_eqbsvZIcPItBDe4K7vAd3_mNxBv8tX7ZbmmAZ7XFazmNQa6fA1Ob8SnOtfO9jfqZv8g5EEqzHl9zCIH4awfzweA7RzjOoQAhZS27-mlVyOm9GEmo_hsR4b-AM2Ts4fRQrxgwKg","token_type":"Bearer","refresh_token":"eyJyZWZyZXNoVG9rZW5WYWx1ZSI6ImUwMzNmMDRjLWI0MzctNDgzOS1hNWEzLWEwYjVmZDU5NjIxOCIsImdhcm1pbkd1aWQiOiI0MjRmYmU5Ny1hODlkLTQ3ZWItYTFjYi1jYmViN2YwMGViODUifQ==","expires_in":3599,"refresh_token_expires_in":7199}
                  
                  garmin.0
                  2023-11-07 10:00:26.929	debug	"<!DOCTYPE html>\n<html class=\"signed-in\" lang=\"de\">\n\n\n\n<head>\n <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\"/>\n <meta charset=\"UTF-8\"/>\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"/>\n\n <title>Garmin Connect</title>\n\n \n\n\n \n\n <link rel=\"shortcut icon\" href=\"/modern/images/favicon.ico\" />\n\n <!-- Connect Styles -->\n \n <link rel=\"stylesheet\" type=\"text/css\" href=\"/modern/css/dropzone.min.css?bust=4.72.4.2\" />\n <link rel=\"stylesheet\" type=\"text/css\" href=\"/web-react/styles/global.css?bust=4.72.4.2\" />\n \n \n\n \n\n <!-- to be modify the google fonts in cdn here -->\n <!--garmin.cn-->\n\n \n \n <!-- FONTS -->\n <link rel='stylesheet' type='text/css' href=\"https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700&amp;subset=latin,cyrillic-ext,greek-ext,vietnamese\" />\n \n\n\n\n <title>Connect</title>\n</head>\n\n\n<body>\n<a href=\"connectagent://launch\" id=\"notify-agent\" style=\"display: none\" tabindex=\"-1\"><!-- dummy comment --></a>\n\n\n\n<div class=\"connect-container\">\n\n <nav class=\"main-nav hide\"><!-- main navigation --></nav>\n\n <div class=\"react-global-modal\"><!-- react-global-modal --></div>\n\n <div class=\"main-body\">\n <!-- Header -->\n \n\n <header class=\"header hide\">\n <!-- placeholder -->\n </header>\n\n <section class=\"beta-testers-survey-banner takeover-container\">\n <!-- placeholder -->\n </section>\n\n\n<div class=\"main-header\"></div>\n\n\n <!-- Content Container -->\n \n<div class=\"content clearfix\">\n\n \n <script>\n window.VIEWER_USERPREFERENCES = {\"availableTrainingDays\":null,\"heartRateFormat\":{\"formatKey\":\"bpm\",\"formatId\":21,\"maxFraction\":0,\"displayFormat\":null,\"groupingUsed\":false,\"minFraction\":0},\"golfSpeedUnit\":null,\"preferredLongTrainingDays\":null,\"dateFormat\":{\"formatKey\":\"ddmmyyyy\",\"formatId\":24,\"maxFraction\":0,\"displayFormat\":\"EEE, d MMM yyyy\",\"groupingUsed\":false,\"minFraction\":0},\"displayName\":\"bommel_030\",\"golfDistanceUnit\":\"statute_us\",\"timeZone\":\"Europe\\/Paris\",\"hydrationContainers\":[{\"volume\":100,\"unit\":\"milliliter\",\"name\":\"Gefäß 1\"},{\"volume\":500,\"unit\":\"milliliter\",\"name\":\"Gefäß 2\"},{\"volume\":750,\"unit\":\"milliliter\",\"name\":\"Gefäß 3\"}],\"hydrationMeasurementUnit\":\"milliliter\",\"powerFormat\":{\"formatKey\":\"power_zones\",\"formatId\":29,\"maxFraction\":1,\"displayFormat\":null,\"groupingUsed\":false,\"minFraction\":1},\"numberFormat\":\"decimal_comma\",\"firstDayOfWeek\":{\"dayName\":\"monday\",\"isPossibleFirstDay\":true,\"sortOrder\":3,\"dayId\":3},\"timeFormat\":{\"formatKey\":\"time_twenty_four_hr\",\"formatId\":33,\"maxFraction\":0,\"displayFormat\":\"H:mm\",\"groupingUsed\":false,\"minFraction\":0},\"measurementSystem\":\"metric\",\"golfElevationUnit\":null,\"preferredLocale\":\"de\"};\n window.VIEWER_SOCIAL_PROFILE = {\"runningTrainingSpeed\":0,\"swimmingTrainingSpeed\":0,\"showRecentDevice\":false,\"twitterUrl\":null,\"levelIsViewed\":false,\"bio\":null,\"activityStartVisibility\":\"private\",\"cyclingTrainingSpeed\":0,\"showHeight\":false,\"showBadges\":true,\"levelUpdateDate\":\"2023-06-17T13:29:46.0\",\"id\":2379666,\"showRecentFavorites\":false,\"makeGolfScorecardsPrivate\":false,\"activityHeartRateVisibility\":\"public\",\"profileVisibility\":\"following\",\"nameApproved\":true,\"garminGUID\":\"424fbe97-a89d-47eb-a1cb-cbeb7f00eb85\",\"otherMotivation\":null,\"showAgeRange\":false,\"showLifetimeTotals\":false,\"favoriteCyclingActivityTypes\":[],\"cyclingClassification\":null,\"otherPrimaryActivity\":null,\"userPointOffset\":0,\"userRoles\":[\"ROLE_OUTDOOR_USER\",\"ROLE_CONNECTUSER\",\"ROLE_FITNESS_USER\",\"ROLE_WELLNESS_USER\",\"ROLE_CONNECT_2_USER\"],\"profileId\":2400759,\"showActivityClass\":false,\"profileImageUrlSmall\":\"https:\\/\\/s3.amazonaws.com\\/garmin-connect-prod\\/profile_images\\/39f253fa-1f1d-444b-90e0-d2dadecbcb7d-2400759.png\",\"showRecentGear\":false,\"showLast12Months\":false,\"showGender\":true,\"displayName\":\"bommel_030\",\"personalWebsite\":null,\"motivation\":null,\"primaryActivity\":null,\"facebookUrl\":null,\"userLevel\":5,\"userPro\":false,\"favoriteActivityTypes\":[],\"courseVisibility\":\"public\",\"profileImageUuid\":\"c1166cf1-78a4-41d6-9b1b-2ea7131c84b9\",\"userPoint\":383,\"badgeVisibility\":\"following\",\"fullName\":\"Bommel\",\"showWeightClass\":false,\"allowGolfScoringByConnections\":true,\"levelPointThreshold\":620,\"userName\":\"bommel_030\",\"showVO2Max\":false,\"allowGolfLiveScoring\":false,\"profileImageUrlMedium\":\"https:\\/\\/s3.amazonaws.com\\/garmin-connect-prod\\/profile_images\\/71566b41-f46b-4b4e-a7fb-8a69c9952101-2400759.png\",\"otherActivity\":null,\"showUpcomingEvents\":false,\"showAge\":false,\"profileImageUrlLarge\":\"https:\\/\\/s3.amazonaws.com\\/garmin-connect-prod\\/profile_images\\/c1166cf1-78a4-41d6-9b1b-2ea7131c84b9-2400759.png\",\"location\":\"Schönwalde, Brandenburg\",\"showPersonalRecords\":false,\"activityMapVisibility\":\"public\",\"userProfileFullName\":\"Bommel\",\"cyclingMaxAvgPower\":0,\"showWeight\":false,\"activityPowerVisibility\":\"public\"};\n window.VIEWER_DASHBOARDS = [{\"dashboardTitle\":\"\",\"dashboardId\":681261,\"dashboardOrder\":1,\"ownerId\":2400759,\"dashboardTitleKey\":\"fitness_dashboard\"},{\"dashboardTitle\":\"\",\"dashboardId\":3070555,\"dashboardOrder\":2,\"ownerId\":2400759,\"dashboardTitleKey\":\"wellness_dashboard\"}];\n\n window.queueNotificationTimeout = 600000;\n window.queuePollRate = 600000;\n\n window.ERROR_VIEW = null;\n window.USER_PROFILE = null;\n\n window.viewerIsAuthenticated = true;\n\n window.SYSTEM_TIME_GMT = 1699347626848;\n window.SESSION_LENGTH = 2700000;\n window.GAUTH_HOST = \"https:\\/\\/sso.garmin.com\\/sso\";\n window.GARMIN_APP_URL = \"https:\\/\\/apps.garmin.com\\/connect?locale={locale}\";\n window.WEB_TOKEN = \"\";\n window.URL_BUST_VALUE = \"4.72.4.2\";\n\n window.IS_READONLY = null;\n window.PRODUCT_SUPPORT_MODE = null;\n window.IS_RACE_MANAGEMENT = null;\n\n window.JS_ERROR = true;\n window.DI_BACKENDS = {\"golf\":\"golf.garmin.com\",\"ghs\":\"ghs.connect.garmin.com\",\"insights\":\"insights.gcs.garmin.com\",\"gcs\":\"api.gcs.garmin.com\",\"gcapi\":\"connectapi.garmin.com\",\"omt\":\"omt.garmin.com\",\"gcsalt\":\"gcs.garmin.com\",\"didt\":\"api-didt-test.garmin.com\",\"atp\":\"atp.gcs.garmin.com\"};\n window.PREFERENCES = {\"5b5ea560-3015-46c8-9f15-28c038165b87\":\"ROLE_MBTESTER\",\"ce34657d-8a85-4b6e-8bb4-00897590c217\":\"ROLE_CONNECTUSER\",\"5c8d3401-e6e7-4354-9095-39526016a47c\":\"ROLE_CONNECTUSER\",\"d3c94498-8962-4a62-bd3a-0d80a08e3386\":\"false\",\"7ae52c9a-1967-46e9-952f-3e40e3770bde\":\"ROLE_CONNECTUSER\"};\n </script>\n\n <script src=\"/web-react/static/js/vendor.js?bust=4.72.4.2\"></script>\n <script src=\"/web-react/static/js/backbone-lib.js?bust=4.72.4.2\"></script>\n <script src=\"/web-react/static/js/bundle.js?bust=4.72.4.2\"></script>\n</div>\n\n <!-- END .content -->\n\n <!-- Footer -->\n <div class=\"main-footer\"></div>\n <!-- END .footer -->\n <p style=\"display: none;\" id=\"garmin-connect-version\">4.72.4.2</p>\n </div>\n\n <!-- END .container -->\n</div>\n\n<style>\n .privacy-overlay {\n position: fixed; /* Sit on top of the page content */\n width: 100%; /* Full width (cover the whole page) */\n height: 100%; /* Full height (cover the whole page) */\n top: 0;\n left: 0;\n background-color: #fff;\n z-index: 9999; /* Specify a stack order in case you're using a different order for other elements */\n }\n</style>\n\n<div id=\"overlay\" class=\"privacy-overlay\">\n</div>\n\n<script defer src=\"https://static.cloudflareinsights.com/beacon.min.js/v84a3a4012de94ce1a686ba8c167c359c1696973893317\" integrity=\"sha512-euoFGowhlaLqXsPWQ48qSkBSCFs3DPRyiwVu3FjR96cMPx+Fr+gpWRhIafcHwqwCqWS42RZhIudOvEI+Ckf6MA==\" data-cf-beacon='{\"rayId\":\"822462c69bc9160d\",\"b\":1,\"version\":\"2023.10.0\",\"token\":\"1bd18b8f69214e379ef7bd34509191ae\"}' crossorigin=\"anonymous\"></script>\n</body>\n\n\n\n</html>"
                  
                  garmin.0
                  2023-11-07 10:00:25.455	debug	"<!DOCTYPE html>\n<html class=\"no-js\">\n\t<head>\n\t\t<title>Success</title>\n\t\t<meta charset=\"utf-8\">\n\t\t<meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge;\" />\n\t\t<meta name=\"description\" content=\"\">\n\t\t<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n\t\t<meta http-equiv=\"cleartype\" content=\"on\">\n\t\t<script type=\"text/javascript\" src=\"/sso/js/jquery/3.7.1/jquery.min.js?20210319\"></script>\n\t\t<script type=\"text/javascript\">jQuery.noConflict();</script>\n\t\t<script type=\"text/javascript\" src=\"/sso/js/json2.js\"></script>\n\t\t<script type=\"text/javascript\" src=\"/sso/js/consoleUtils.js?20210319\"></script>\n\t\t<script type=\"text/javascript\" src=\"/sso/js/postmessage.js?20210319\"></script>\n\t\t<script type=\"text/javascript\">\n\t\t\tvar redirectAfterAccountLoginUrl \t = \"https:\\/\\/connect.garmin.com\\/modern\\/\";\n\t\t\tvar redirectAfterAccountCreationUrl = \"https:\\/\\/connect.garmin.com\\/modern\\/\";\n\t\t\tvar consumeServiceTicket \t = \"false\";\n\t\t\tvar service_url \t = \"https:\\/\\/connect.garmin.com\\/modern\\/\";\n\t\t\tvar parent_url \t = \"https:\\/\\/connect.garmin.com\\/signin\";\n\t\t\tvar response_url \t = \"https:\\/\\/connect.garmin.com\\/modern\\/?ticket=ST-0832024-LCBlkytjV1VKQhfBsJFR-cas\";\n\t\t\tvar logintoken \t = \"\";\n\t\t\tvar socialLogin \t = \"\";\n\t\t\tvar performMFACheck = \"false\";\n\n\t\t\t// Decode url if it's encoded unnecessarily (which is happening when SSO GAuth logins redisplay the login page due to session timeouts.)\n\t\t\tif (response_url.indexOf('%3A%2F%2F') != -1) {\n\t\t\t\tresponse_url = decodeURIComponent(response_url);\n\t\t\t}\n\t\t\tresponse_url = response_url.replace(new RegExp(\"&amp;\", 'g'),\"&\");\n\n\t\t\tvar service_ticket = response_url.substring(response_url.indexOf('ticket=') + 7, response_url.length);\n\n\t\t\tif (redirectAfterAccountLoginUrl) {\n\t\t\t\tconsoleInfo('casEmbedSuccess.html: redirectAfterAccountLoginUrl: [' + redirectAfterAccountLoginUrl + ']');\n\t\t\t}\n\t\t\tconsoleInfo('casEmbedSuccess.html: consumeServiceTicket: [' + consumeServiceTicket + ']');\n\t\t\tconsoleInfo('casEmbedSuccess.html: service_url: [' + service_url + ']');\n\t\t\tconsoleInfo('casEmbedSuccess.html: parent_url: [' + parent_url + ']');\n\t\t\tconsoleInfo('casEmbedSuccess.html: response_url: [' + response_url + ']');\n\t\t\tconsoleInfo('casEmbedSuccess.html: service_ticket: [' + service_ticket + ']');\n\t\t\tif (logintoken) {\n\t\t\t\tconsoleInfo('casEmbedSuccess.html: logintoken: [' + logintoken + ']');\n\t\t\t}\n\t\t\tif (socialLogin) {\n\t\t\t\tconsoleInfo('casEmbedSuccess.html: socialLogin: [' + socialLogin + ']');\n\t\t\t}\n\n\t\t\tfunction send(msg) {\n\t\t\t\tconsoleInfo('casEmbedSuccess.html: send(): Calling XD.postMessage(msg:[' + JSON.stringify(msg) + '], target_url:[' + parent_url + '])...');\n\t\t\t\tXD.postMessage(msg, parent_url, parent);\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tfunction redirect(target){\n\t\t\t\tvar embedWidget = \"false\";\n\t\t\t\tif (embedWidget != 'true') {\n\t\t\t\t\tif (logintoken || socialLogin) {\n\t\t\t\t\t\t// Tell parent to close opened Gauth lite box.\n\t\t\t\t\t\tsend({'closeLiteBox':'1'});\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Tell parent to resize Gauth widget's height to just that of the loading icon.\n\t\t\t\t\t\tsend({'gauthHeight':jQuery(\"#GAuth-component\").height()});\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (window.opener != null) {\n\t\t\t\t\tvar iframeParent = window.opener.parent;\n\t\t\t\t\tiframeParent.location.href = target;\n\t\t\t\t\twindow.close();\n\t\t\t\t} else {\n\t\t\t\t\t// If the \"redirectAfterAccountLoginUrl\" GAuth config parameter was specified,\n\t\t\t\t\t// a full page refresh upon logon was requested, so redirect the parent window upon login.\n\t\t\t\t\tif (redirectAfterAccountLoginUrl || redirectAfterAccountCreationUrl || (socialLogin && socialLogin === 'true') || (performMFACheck && performMFACheck === 'true')) {\n\n\t\t\t\t\t\tif (embedWidget != 'true') {\n\t\t\t\t\t\t\tsend({'status':'SUCCESS', 'successDetails':'Login Successful'});\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Redirect parent of login iframe to requested service URL with ?ST=<Service Ticket ID> appended,\n\t\t\t\t\t\t// so the webapp can validate the service ticket and log the user on to the webapp.\n\t\t\t\t\t\tconsoleInfo('casEmbedSuccess.html: Calling parent.location.href = [' + response_url + '];...');\n\t\t\t\t\t\ttop.location.href = response_url;\n\n\t\t\t\t\t// Else if GAuth was configured not to consume the service ticket, send the service ticket and service url.\n\t\t\t\t\t// It's then up to the parent page to hide the GAuth widget and validate the service ticket.\n\t\t\t\t\t} else if (consumeServiceTicket == 'false') {\n\n\t\t\t\t\t\tsend({'status':'SUCCESS', 'successDetails':'Login Successful', 'serviceTicket':service_ticket, 'serviceUrl':service_url});\n\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Else consume the service ticket and log the user into the parent webapp, by making a JSONP request to the response url.\n\t\t\t\t\t\t// This service ticket request to the parent webapp will return a small amount of JSON that we\n\t\t\t\t\t\t// can send in the success event to the parent page to notify them of successful logon\n\t\t\t\t\t\t// It's then up to the parent page to hide the GAuth widget and do whatever it wants.\n\t\t\t\t\t\tconsoleInfo('casEmbedSuccess.html: Loading ajax jsonp URL: [' + response_url + ']');\n\t\t\t\t\t\tjQuery.ajax({\n\t\t\t\t\t\t\ttype: \"REDIRECT\",\n\t\t\t\t\t\t\turl: response_url,\n\t\t\t\t\t\t\tdataType: 'jsonp',\n\t\t\t\t\t\t\terror: function(xhr, status, error) {\n\t\t\t\t\t\t\t\tconsoleError('casEmbedSuccess.html: Error loading ajax jsonp URL: [' + response_url + ']! Error: ' + error);\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tsuccess: function( data, status, xhr ) {\n\t\t\t\t\t\t\t\tconsoleInfo('casEmbedSuccess.html: success loading ajax jsonp url. data: [' + data + ']');\n\t\t\t\t\t\t\t\tvar userdata = data;\n\t\t\t\t\t\t\t\tif (typeof(userdata) === 'string') {\n\t\t\t\t\t\t\t\t\tuserdata = JSON.parse(data);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tconsoleInfo('casGenericRedirect.jsp: customerId: [' + userdata.customerId\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t+ '], username: [' + userdata.username\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t+ '], rememberMe: [' + userdata.rememberMe\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t+ '], password: [' + userdata.password\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t+ '], email: [' + userdata.email\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t+ '], displayName: [' + userdata.displayName\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t+ '], firstName: [' + userdata.firstName\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t+ '], lastName: [' + userdata.lastName\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t+ '], localePreference: [' + userdata.localePreference\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t+ '], addressLine1: [' + userdata.addressLine1\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t+ '], addressLine2: [' + userdata.addressLine2\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t+ '], cityName: [' + userdata.cityName\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t+ '], state: [' + userdata.state\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t+ '], postalCode: [' + userdata.postalCode\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t+ '], country: [' + userdata.country\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t+ '], passwordChangeRequired: [' + userdata.passwordChangeRequired\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t+ '], lastLogin: [' + userdata.lastLogin\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t+ '], erpCustomerNumber: [' + userdata.erpCustomerNumber\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t+ ']');\n\t\t\t\t\t\t\t\tsend({'status' : 'SUCCESS',\n\t\t\t\t\t\t\t\t\t\t\t'successDetails' : 'Login Successful',\n\t\t\t\t\t\t\t\t\t\t\t'customerId' : userdata.customerId,\n\t\t\t\t\t\t\t\t\t\t\t'username' : userdata.username,\n\t\t\t\t\t\t\t\t\t\t\t'rememberMe' : userdata.rememberMe,\n\t\t\t\t\t\t\t\t\t\t\t'password' : userdata.password,\n\t\t\t\t\t\t\t\t\t\t\t'email' : userdata.email,\n\t\t\t\t\t\t\t\t\t\t\t'displayName' : userdata.displayName,\n\t\t\t\t\t\t\t\t\t\t\t'firstName' : userdata.firstName,\n\t\t\t\t\t\t\t\t\t\t\t'lastName' : userdata.lastName,\n\t\t\t\t\t\t\t\t\t\t\t'localePreference' : userdata.localePreference,\n\t\t\t\t\t\t\t\t\t\t\t'addressLine1' : userdata.addressLine1,\n\t\t\t\t\t\t\t\t\t\t\t'addressLine2' : userdata.addressLine2,\n\t\t\t\t\t\t\t\t\t\t\t'cityName' : userdata.cityName,\n\t\t\t\t\t\t\t\t\t\t\t'state' : userdata.state,\n\t\t\t\t\t\t\t\t\t\t\t'postalCode' : userdata.postalCode,\n\t\t\t\t\t\t\t\t\t\t\t'country' : userdata.country,\n\t\t\t\t\t\t\t\t\t\t\t'passwordChangeRequired' : userdata.passwordChangeRequired,\n\t\t\t\t\t\t\t\t\t\t\t'lastLogin' : userdata.lastLogin,\n\t\t\t\t\t\t\t\t\t\t\t'erpCustomerNumber' : userdata.erpCustomerNumber\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t</script>\n\t</head>\n\t<body>\n\t\t<div id=\"GAuth-component\">\n\t\t\t<img src='/sso/images/ajax-loader.gif' class=\"loaderImage\"/>\n\t\t</div>\n\t\t<script type=\"text/javascript\">\n\t\t\tjQuery(document).ready(function(){\n\t\t\t\tvar service = \"https:\\/\\/connect.garmin.com\\/modern\\/\";\n\t\t\t\tconsoleInfo(\"casEmbedSuccess.html: ready, calling redirect('\" + service + \"')...\");\n\t\t\t\tredirect(service);\n\t\t\t});\n\t\t</script>\n\t<script>(function(){var js = \"window['__CF$cv$params']={r:'822462bb5da144f8',t:'MTY5OTM0NzYyNS40NDEwMDA='};_cpo=document.createElement('script');_cpo.nonce='',_cpo.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js',document.getElementsByTagName('head')[0].appendChild(_cpo);\";var _0xh = document.createElement('iframe');_0xh.height = 1;_0xh.width = 1;_0xh.style.position = 'absolute';_0xh.style.top = 0;_0xh.style.left = 0;_0xh.style.border = 'none';_0xh.style.visibility = 'hidden';document.body.appendChild(_0xh);function handler() {var _0xi = _0xh.contentDocument || _0xh.contentWindow.document;if (_0xi) {var _0xj = _0xi.createElement('script');_0xj.innerHTML = js;_0xi.getElementsByTagName('head')[0].appendChild(_0xj);}}if (document.readyState !== 'loading') {handler();} else if (window.addEventListener) {document.addEventListener('DOMContentLoaded', handler);} else {var prev = document.onreadystatechange || function () {};document.onreadystatechange = function (e) {prev(e);if (document.readyState !== 'loading') {document.onreadystatechange = prev;handler();}};}})();</script></body>\n</html>\n"
                  
                  garmin.0
                  2023-11-07 10:00:24.108	debug	"<!DOCTYPE html>\n<html lang=\"en\" class=\"no-js\">\n <head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <meta name=\"viewport\" content=\"width=device-width\" />\n <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge;\" />\n <title>GARMIN Authentication Application</title>\n <link href=\"/sso/css/GAuth.css?20210406\" rel=\"stylesheet\" type=\"text/css\" media=\"all\" />\n\n\t <link rel=\"stylesheet\" href=\"https://connect.garmin.com/gauth-custom-v1.2-min.css\"/>\n\n <script type=\"text/javascript\" src=\"/sso/js/jquery/3.7.1/jquery.min.js?20210319\"></script>\n <script type=\"text/javascript\">jQuery.noConflict();</script>\n\t\t<script type=\"text/javascript\" src=\"/sso/js/jquery-validate/1.16.0/jquery.validate.min.js?20210319\"></script>\n <script type=\"text/javascript\" src=\"/sso/js/jsUtils.js?20210406\"></script>\n <script type=\"text/javascript\" src=\"/sso/js/json2.js\"></script>\n <script type=\"text/javascript\" src=\"/sso/js/consoleUtils.js?20210319\"></script>\n <script type=\"text/javascript\" src=\"/sso/js/postmessage.js?20210319\"></script>\n <script type=\"text/javascript\" src=\"/sso/js/popupWindow.js\"></script>\n <script type=\"text/javascript\" src=\"/sso/js/base.js?20231020\"></script>\n\t\t<script type=\"text/javascript\" src=\"/sso/js/gigyaUtils.js?20210319\"></script>\n <script type=\"text/javascript\" src=\"/sso/js/login.js?20211102\"></script>\n <script type=\"text/javascript\" src=\"/sso/js/reCaptchaUtil.js?20230706\"></script>\n\n <script>\n var recaptchaSiteKey = null;\n var reCaptchaURL = \"\\\\\\/reCaptcha?service=https%3A%2F%2Fconnect.garmin.com%2Fmodern%2F\\u0026webhost=https%3A%2F%2Fconnect.garmin.com%2Fmodern%2F\\u0026source=https%3A%2F%2Fconnect.garmin.com%2Fsignin%2F\\u0026redirectAfterAccountLoginUrl=https%3A%2F%2Fconnect.garmin.com%2Fmodern%2F\\u0026redirectAfterAccountCreationUrl=https%3A%2F%2Fconnect.garmin.com%2Fmodern%2F\\u0026gauthHost=https%3A%2F%2Fsso.garmin.com%2Fsso\\u0026locale=en_GB\\u0026id=gauth-widget\\u0026cssUrl=https%3A%2F%2Fconnect.garmin.com%2Fgauth-custom-v1.2-min.css\\u0026privacyStatementUrl=https%3A%2F%2Fwww.garmin.com%2Fen-GB%2Fprivacy%2Fconnect%2F\\u0026clientId=GarminConnect\\u0026rememberMeShown=true\\u0026rememberMeChecked=false\\u0026createAccountShown=true\\u0026openCreateAccount=false\\u0026displayNameShown=false\\u0026consumeServiceTicket=false\\u0026initialFocus=true\\u0026embedWidget=false\\u0026socialEnabled=false\\u0026generateExtraServiceTicket=true\\u0026generateTwoExtraServiceTickets=true\\u0026generateNoServiceTicket=false\\u0026globalOptInShown=true\\u0026globalOptInChecked=false\\u0026mobile=false\\u0026connectLegalTerms=true\\u0026showTermsOfUse=false\\u0026showPrivacyPolicy=false\\u0026showConnectLegalAge=false\\u0026locationPromptShown=true\\u0026showPassword=true\\u0026useCustomHeader=false\\u0026mfaRequired=false\\u0026performMFACheck=false\\u0026rememberMyBrowserShown=true\\u0026rememberMyBrowserChecked=false\";\n var isRecaptchaEnabled = null;\n var recaptchaToken = null; \n </script>\n <script type=\"text/javascript\">\n var parent_url = \"https:\\/\\/connect.garmin.com\\/signin\\/\";\n var status \t\t\t= \"\";\n\t\t\tvar result = \"\";\n\t\t\tvar clientId\t\t= 'GarminConnect';\n\t\t\tvar embedWidget \t= false;\n\t\t\tvar isUsernameDefined = (false == true) || (false == true);\n\n // Gigya callback to SocialSignInController for brand new social network users redirects to this page\n // to popup Create or Link Social Account page, but has a possibly mangled source parameter\n // where \"?\" is set as \"<QM>\", so translate it back to \"?\" here.\n parent_url = parent_url.replace('<QM>', '?');\n var parent_scheme = parent_url.substring(0, parent_url.indexOf(\"://\"));\n var parent_hostname = parent_url.substring(parent_scheme.length + 3, parent_url.length);\n if (parent_hostname.indexOf(\"/\") != -1) {\n parent_hostname = parent_hostname.substring(0, parent_hostname.indexOf(\"/\"));\n }\n var parentHost \t = parent_scheme + \"://\" + parent_hostname;\n\t\t\tvar createAccountConfigURL = '\\/createNewAccount?service%3Dhttps%253A%252F%252Fconnect.garmin.com%252Fmodern%252F%26webhost%3Dhttps%253A%252F%252Fconnect.garmin.com%252Fmodern%252F%26source%3Dhttps%253A%252F%252Fconnect.garmin.com%252Fsignin%252F%26redirectAfterAccountLoginUrl%3Dhttps%253A%252F%252Fconnect.garmin.com%252Fmodern%252F%26redirectAfterAccountCreationUrl%3Dhttps%253A%252F%252Fconnect.garmin.com%252Fmodern%252F%26gauthHost%3Dhttps%253A%252F%252Fsso.garmin.com%252Fsso%26locale%3Den_GB%26id%3Dgauth-widget%26cssUrl%3Dhttps%253A%252F%252Fconnect.garmin.com%252Fgauth-custom-v1.2-min.css%26privacyStatementUrl%3Dhttps%253A%252F%252Fwww.garmin.com%252Fen-GB%252Fprivacy%252Fconnect%252F%26clientId%3DGarminConnect%26rememberMeShown%3Dtrue%26rememberMeChecked%3Dfalse%26createAccountShown%3Dtrue%26openCreateAccount%3Dfalse%26displayNameShown%3Dfalse%26consumeServiceTicket%3Dfalse%26initialFocus%3Dtrue%26embedWidget%3Dfalse%26socialEnabled%3Dfalse%26generateExtraServiceTicket%3Dtrue%26generateTwoExtraServiceTickets%3Dtrue%26generateNoServiceTicket%3Dfalse%26globalOptInShown%3Dtrue%26globalOptInChecked%3Dfalse%26mobile%3Dfalse%26connectLegalTerms%3Dtrue%26showTermsOfUse%3Dfalse%26showPrivacyPolicy%3Dfalse%26showConnectLegalAge%3Dfalse%26locationPromptShown%3Dtrue%26showPassword%3Dtrue%26useCustomHeader%3Dfalse%26mfaRequired%3Dfalse%26performMFACheck%3Dfalse%26rememberMyBrowserShown%3Dtrue%26rememberMyBrowserChecked%3Dfalse';\n var socialConfigURL = 'https://sso.garmin.com/sso/socialSignIn?service%3Dhttps%3A%2F%2Fconnect.garmin.com%2Fmodern%2F%26webhost%3Dhttps%3A%2F%2Fconnect.garmin.com%2Fmodern%2F%26source%3Dhttps%3A%2F%2Fconnect.garmin.com%2Fsignin%2F%26redirectAfterAccountLoginUrl%3Dhttps%3A%2F%2Fconnect.garmin.com%2Fmodern%2F%26redirectAfterAccountCreationUrl%3Dhttps%3A%2F%2Fconnect.garmin.com%2Fmodern%2F%26gauthHost%3Dhttps%3A%2F%2Fsso.garmin.com%2Fsso%26locale%3Den_GB%26id%3Dgauth-widget%26cssUrl%3Dhttps%3A%2F%2Fconnect.garmin.com%2Fgauth-custom-v1.2-min.css%26privacyStatementUrl%3Dhttps%3A%2F%2Fwww.garmin.com%2Fen-GB%2Fprivacy%2Fconnect%2F%26clientId%3DGarminConnect%26rememberMeShown%3Dtrue%26rememberMeChecked%3Dfalse%26createAccountShown%3Dtrue%26openCreateAccount%3Dfalse%26displayNameShown%3Dfalse%26consumeServiceTicket%3Dfalse%26initialFocus%3Dtrue%26embedWidget%3Dfalse%26socialEnabled%3Dfalse%26generateExtraServiceTicket%3Dtrue%26generateTwoExtraServiceTickets%3Dtrue%26generateNoServiceTicket%3Dfalse%26globalOptInShown%3Dtrue%26globalOptInChecked%3Dfalse%26mobile%3Dfalse%26connectLegalTerms%3Dtrue%26showTermsOfUse%3Dfalse%26showPrivacyPolicy%3Dfalse%26showConnectLegalAge%3Dfalse%26locationPromptShown%3Dtrue%26showPassword%3Dtrue%26useCustomHeader%3Dfalse%26mfaRequired%3Dfalse%26performMFACheck%3Dfalse%26rememberMyBrowserShown%3Dtrue%26rememberMyBrowserChecked%3Dfalse';\n var gigyaURL = \"https://cdns.gigya.com/js/gigya.js?apiKey=2_R3ZGY8Bqlwwk3_63knoD9wA_m-Y19mAgW61bF_s5k9gymYnMEAtMrJiF5MjF-U7B\";\n\n if (createAccountConfigURL.indexOf('%253A%252F%252F') != -1) {\n \tcreateAccountConfigURL = decodeURIComponent(createAccountConfigURL);\n }\n consoleInfo('signin.html embedWidget: false, createAccountConfigURL: \\/createNewAccount?service%3Dhttps%253A%252F%252Fconnect.garmin.com%252Fmodern%252F%26webhost%3Dhttps%253A%252F%252Fconnect.garmin.com%252Fmodern%252F%26source%3Dhttps%253A%252F%252Fconnect.garmin.com%252Fsignin%252F%26redirectAfterAccountLoginUrl%3Dhttps%253A%252F%252Fconnect.garmin.com%252Fmodern%252F%26redirectAfterAccountCreationUrl%3Dhttps%253A%252F%252Fconnect.garmin.com%252Fmodern%252F%26gauthHost%3Dhttps%253A%252F%252Fsso.garmin.com%252Fsso%26locale%3Den_GB%26id%3Dgauth-widget%26cssUrl%3Dhttps%253A%252F%252Fconnect.garmin.com%252Fgauth-custom-v1.2-min.css%26privacyStatementUrl%3Dhttps%253A%252F%252Fwww.garmin.com%252Fen-GB%252Fprivacy%252Fconnect%252F%26clientId%3DGarminConnect%26rememberMeShown%3Dtrue%26rememberMeChecked%3Dfalse%26createAccountShown%3Dtrue%26openCreateAccount%3Dfalse%26displayNameShown%3Dfalse%26consumeServiceTicket%3Dfalse%26initialFocus%3Dtrue%26embedWidget%3Dfalse%26socialEnabled%3Dfalse%26generateExtraServiceTicket%3Dtrue%26generateTwoExtraServiceTickets%3Dtrue%26generateNoServiceTicket%3Dfalse%26globalOptInShown%3Dtrue%26globalOptInChecked%3Dfalse%26mobile%3Dfalse%26connectLegalTerms%3Dtrue%26showTermsOfUse%3Dfalse%26showPrivacyPolicy%3Dfalse%26showConnectLegalAge%3Dfalse%26locationPromptShown%3Dtrue%26showPassword%3Dtrue%26useCustomHeader%3Dfalse%26mfaRequired%3Dfalse%26performMFACheck%3Dfalse%26rememberMyBrowserShown%3Dtrue%26rememberMyBrowserChecked%3Dfalse, socialEnabled: false, gigyaSupported: true, socialConfigURL(): https://sso.garmin.com/sso/socialSignIn?service%3Dhttps%3A%2F%2Fconnect.garmin.com%2Fmodern%2F%26webhost%3Dhttps%3A%2F%2Fconnect.garmin.com%2Fmodern%2F%26source%3Dhttps%3A%2F%2Fconnect.garmin.com%2Fsignin%2F%26redirectAfterAccountLoginUrl%3Dhttps%3A%2F%2Fconnect.garmin.com%2Fmodern%2F%26redirectAfterAccountCreationUrl%3Dhttps%3A%2F%2Fconnect.garmin.com%2Fmodern%2F%26gauthHost%3Dhttps%3A%2F%2Fsso.garmin.com%2Fsso%26locale%3Den_GB%26id%3Dgauth-widget%26cssUrl%3Dhttps%3A%2F%2Fconnect.garmin.com%2Fgauth-custom-v1.2-min.css%26privacyStatementUrl%3Dhttps%3A%2F%2Fwww.garmin.com%2Fen-GB%2Fprivacy%2Fconnect%2F%26clientId%3DGarminConnect%26rememberMeShown%3Dtrue%26rememberMeChecked%3Dfalse%26createAccountShown%3Dtrue%26openCreateAccount%3Dfalse%26displayNameShown%3Dfalse%26consumeServiceTicket%3Dfalse%26initialFocus%3Dtrue%26embedWidget%3Dfalse%26socialEnabled%3Dfalse%26generateExtraServiceTicket%3Dtrue%26generateTwoExtraServiceTickets%3Dtrue%26generateNoServiceTicket%3Dfalse%26globalOptInShown%3Dtrue%26globalOptInChecked%3Dfalse%26mobile%3Dfalse%26connectLegalTerms%3Dtrue%26showTermsOfUse%3Dfalse%26showPrivacyPolicy%3Dfalse%26showConnectLegalAge%3Dfalse%26locationPromptShown%3Dtrue%26showPassword%3Dtrue%26useCustomHeader%3Dfalse%26mfaRequired%3Dfalse%26performMFACheck%3Dfalse%26rememberMyBrowserShown%3Dtrue%26rememberMyBrowserChecked%3Dfalse');\n\n if (socialConfigURL.indexOf('%3A%2F%2F') != -1) {\n \tsocialConfigURL = decodeURIComponent(socialConfigURL);\n }\n\n if( status != null && status != ''){\n \tsend({'status':status});\n }\n\n jQuery(document).ready( function(){\n\n\n consoleInfo(\"signin.html: setting field validation rules...\");\n\n jQuery(\"#username\").rules(\"add\",{\n required: true,\n messages: {\n required: \"Email is required.\"\n }});\n\n jQuery(\"#password\").rules(\"add\", {\n required: true,\n messages: {\n required: \"Password is required.\"\n }\n });\n\n consoleInfo(\"signin.html: done setting field validation rules...\");\n\n });\n\n XD.receiveMessage(function(m){\n consoleInfo(\"signin.html: \" + m.data + \" received on \" + window.location.host);\n if (m && m.data) {\n var md = m.data;\n if (typeof(md) === 'string') {\n md = JSON.parse(m.data);\n }\n if (md.setUsername) {\n consoleInfo(\"signin.html: Setting username \\\"\" + md.username + \"\\\"...\");\n jQuery(\"#signInWithDiffLink\").click(); // Ensure the normal login form is shown.\n jQuery(\"#username\").val(md.username);\n jQuery(\"#password\").focus();\n }\n }\n }, parentHost);\n </script>\n </head>\n <body>\n\n <!-- begin GAuth component -->\n <div id=\"GAuth-component\">\n <!-- begin login component-->\n <div id=\"login-component\" class=\"blueForm-basic\">\n <input type=\"hidden\" id=\"queryString\" value=\"service=https%3A%2F%2Fconnect.garmin.com%2Fmodern%2F&amp;webhost=https%3A%2F%2Fconnect.garmin.com%2Fmodern%2F&amp;source=https%3A%2F%2Fconnect.garmin.com%2Fsignin%2F&amp;redirectAfterAccountLoginUrl=https%3A%2F%2Fconnect.garmin.com%2Fmodern%2F&amp;redirectAfterAccountCreationUrl=https%3A%2F%2Fconnect.garmin.com%2Fmodern%2F&amp;gauthHost=https%3A%2F%2Fsso.garmin.com%2Fsso&amp;locale=en_GB&amp;id=gauth-widget&amp;cssUrl=https%3A%2F%2Fconnect.garmin.com%2Fgauth-custom-v1.2-min.css&amp;privacyStatementUrl=https%3A%2F%2Fwww.garmin.com%2Fen-GB%2Fprivacy%2Fconnect%2F&amp;clientId=GarminConnect&amp;rememberMeShown=true&amp;rememberMeChecked=false&amp;createAccountShown=true&amp;openCreateAccount=false&amp;displayNameShown=false&amp;consumeServiceTicket=false&amp;initialFocus=true&amp;embedWidget=false&amp;socialEnabled=false&amp;generateExtraServiceTicket=true&amp;generateTwoExtraServiceTickets=true&amp;generateNoServiceTicket=false&amp;globalOptInShown=true&amp;globalOptInChecked=false&amp;mobile=false&amp;connectLegalTerms=true&amp;showTermsOfUse=false&amp;showPrivacyPolicy=false&amp;showConnectLegalAge=false&amp;locationPromptShown=true&amp;showPassword=true&amp;useCustomHeader=false&amp;mfaRequired=false&amp;performMFACheck=false&amp;rememberMyBrowserShown=true&amp;rememberMyBrowserChecked=false\" />\n\t \t <input type=\"hidden\" id=\"contextPath\" value=\"/sso\" />\n <!-- begin login form -->\n <div id=\"login-state-default\">\n <h2>Sign In</h2>\n\n <form method=\"post\" id=\"login-form\">\n\n <div class=\"form-alert\">\n\t\t\t\t\t\t\t\n \n \n \n \n \n \n\n <div id=\"username-error\" style=\"display:none;\"></div>\n <div id=\"password-error\" style=\"display:none;\"></div>\n </div>\n <div class=\"textfield\">\n\t\t\t\t\t\t\t<label for=\"username\">Email</label>\n \t\t<!-- If the lockToEmailAddress parameter is specified then we want to mark the field as readonly,\n \t\tpreload the email address, and disable the other input so that null isn't sent to the server. We'll\n \t\talso style the field to have a darker grey background and disable the mouse pointer\n \t\t -->\n\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t<!-- If the lockToEmailAddress parameter is NOT specified then keep the existing functionality and disable the readonly input field\n\t\t\t\t\t\t\t -->\n\t\t\t\t\t\t\t <input class=\"login_email\" name=\"username\" id=\"username\" value=\"\" type=\"email\" spellcheck=\"false\" autocorrect=\"off\" autocapitalize=\"off\"/>\n\n </div>\n\n <div class=\"textfield\">\n <label for=\"password\">Password</label>\n <a id=\"loginforgotpassword\" class=\"login-forgot-password\" style=\"cursor:pointer\">(Forgot?)</a>\n <input type=\"password\" name=\"password\" id=\"password\" spellcheck=\"false\" autocorrect=\"off\" autocapitalize=\"off\" />\n <strong id=\"capslock-warning\" class=\"information\" title=\"Caps lock is on.\" style=\"display: none;\">Caps lock is on.</strong>\n\t\t\t\t\t </div>\n <input type=\"hidden\" name=\"embed\" value=\"false\"/>\n <input type=\"hidden\" name=\"_csrf\" value=\"30B49FDDC157F17F1A3F4266E7ED8D8C04EDF5487BBD88FE2C7F82976579D56A8B06DCB0784A2BE9E7ABCCBA93456A612BAB\" />\n <button type=\"submit\" id=\"login-btn-signin\" class=\"btn1\" accesskey=\"l\">Sign In</button>\n <span>\n\t <input type=\"checkbox\" name=\"rememberme\" id=\"login-remember-checkbox\" onClick=\"if (this.checked) { createAccountConfigURL += '&rememberme=on'; socialConfigURL += '&rememberme=on'; } else { createAccountConfigURL = createAccountConfigURL.replace('&rememberme=on', ''); socialConfigURL = socialConfigURL.replace('&rememberme=on', ''); }\"/>\n \t<label id=\"login-remember\" for=\"login-remember-checkbox\">Remember Me</label>\n </span>\n\n\n <!-- The existence of the \"rememberme\" parameter at all will remember the user! -->\n \n\n </form>\n </div>\n <!-- end login form -->\n\n <!-- begin Create Account message -->\n\t <div id=\"login-create-account\">\n\t <span>\n\t\t <span>Don&#39;t have an account?</span>\n\n\t \n\t <a href='javascript:void(0)' class=\"createAccountLink\" id=\"lnkCreateAccount\" title=\"Create Account\" >Create One</a>\n\t\t\t\t\t</span>\n\t </div>\n\t <!-- end Create Account message -->\n\n\t <!-- begin Social Sign In component -->\n\t <div id=\"SSI-component\">\n \n\n\t\t\t\t\t\n\t </div>\n\t <!-- end Social Sign In component -->\n <div class=\"clearfix\"></div> <!-- Ensure that GAuth-component div's height is computed correctly. -->\n </div>\n <!-- end login component-->\n\n\t\t</div>\n\t\t<!-- end GAuth component -->\n\n <script type=\"text/javascript\">\n jQuery(document).ready(function(){\n \tresizePageOnLoad(jQuery(\"#GAuth-component\").height());\n\n\t\t if(isUsernameDefined == true){\n\t\t // If the user's login just failed, redisplay the email/username specified, and focus them in the password field.\n\t\t jQuery(\"#password\").focus();\n\t\t } else if(true == true && result != \"PASSWORD_RESET_RESULT\"){\n // Otherwise focus them in the username field of the login dialog.\n jQuery(\"#username\").focus();\n }\n\n // Scroll to top of iframe to fix problem where Firefox 3.0-3.6 browsers initially show top of iframe cutoff.\n location.href=\"#\";\n\n if(!embedWidget){\n \tjQuery('.createAccountLink').click(function(){\n\t send({'openLiteBox':'createAccountLink', 'popupUrl': createAccountConfigURL, 'popupTitle':'Create An Account', 'clientId':clientId});\n\t });\n }\n });\n </script>\n <script>(function(){var js = \"window['__CF$cv$params']={r:'822462b56b45165b',t:'MTY5OTM0NzYyMy45MzEwMDA='};_cpo=document.createElement('script');_cpo.nonce='',_cpo.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js',document.getElementsByTagName('head')[0].appendChild(_cpo);\";var _0xh = document.createElement('iframe');_0xh.height = 1;_0xh.width = 1;_0xh.style.position = 'absolute';_0xh.style.top = 0;_0xh.style.left = 0;_0xh.style.border = 'none';_0xh.style.visibility = 'hidden';document.body.appendChild(_0xh);function handler() {var _0xi = _0xh.contentDocument || _0xh.contentWindow.document;if (_0xi) {var _0xj = _0xi.createElement('script');_0xj.innerHTML = js;_0xi.getElementsByTagName('head')[0].appendChild(_0xj);}}if (document.readyState !== 'loading') {handler();} else if (window.addEventListener) {document.addEventListener('DOMContentLoaded', handler);} else {var prev = document.onreadystatechange || function () {};document.onreadystatechange = function (e) {prev(e);if (document.readyState !== 'loading') {document.onreadystatechange = prev;handler();}};}})();</script></body>\n</html>\n"
                  
                  garmin.0
                  2023-11-07 10:00:23.113	info	Login to Garmin
                  
                  garmin.0
                  2023-11-07 10:00:23.079	debug	Schedule restart: 57 23 * * *
                  
                  garmin.0
                  2023-11-07 10:00:23.057	info	starting. Version 0.0.4 in /opt/iobroker/node_modules/iobroker.garmin, node: v18.17.1, js-controller: 5.0.16
                  
                  admin.0
                  2023-11-07 10:00:09.969	warn	garmin has an invalid jsonConfig: [{"instancePath":"","schemaPath":"#/required","keyword":"required","params":{"missingProperty":"type"},"message":"must have required property 'type'"}]
                  
                  T Offline
                  T Offline
                  tombox
                  schrieb am zuletzt editiert von
                  #77

                  @bommel_030 und du darfst alle die werte über die Webseite abrufen. weil 402 bedeutet kein abo abgeschlossen

                  B 1 Antwort Letzte Antwort
                  0
                  • T tombox

                    @bommel_030 und du darfst alle die werte über die Webseite abrufen. weil 402 bedeutet kein abo abgeschlossen

                    B Nicht stören
                    B Nicht stören
                    bommel_030
                    schrieb am zuletzt editiert von
                    #78

                    @tombox
                    "aktiv" nutze ich nur die Basics wie Schritte / Stockwerke / Gewicht etc. Die kann ich von der Webseite auslesen.
                    Ich wüsste, mal abgesehen vom LTE Abo, wo ich bei Garmin eins abschließen könnte.

                    1 Antwort Letzte Antwort
                    0
                    • K kirbsi

                      Hallo Leute. Bekommt ihr noch Daten von Garmin. Seit dem 20.10.2023 kommt bei mir nichts mehr rein!

                      T Offline
                      T Offline
                      tombox
                      schrieb am zuletzt editiert von
                      #79

                      @kirbsi Bitte mal die GitHub version testen ob das so funktioniert

                      B 2 Antworten Letzte Antwort
                      0
                      • T tombox

                        @kirbsi Bitte mal die GitHub version testen ob das so funktioniert

                        B Nicht stören
                        B Nicht stören
                        bommel_030
                        schrieb am zuletzt editiert von
                        #80

                        @tombox
                        Mit der github Version werden meine verwendeten Datenpunkte wieder aktualisiert. Danke schon mal dafür.
                        Momentan läuft der Adapter seit 8h stabil. Bis jetzt hat er nach 2 bis 3 Tagen immer zum Passwort-Reset seitens Garmin geführt. Vielleicht passiert das jetzt auch nicht mehr.

                        1 Antwort Letzte Antwort
                        0
                        • T tombox

                          @kirbsi Bitte mal die GitHub version testen ob das so funktioniert

                          B Nicht stören
                          B Nicht stören
                          bommel_030
                          schrieb am zuletzt editiert von
                          #81

                          @tombox
                          So, der Adapter hat jetzt knapp 7 Tage durchgehalten, eben bekam ich wieder die Mail von Garmin "Wir haben eine Anfrage zum Zurücksetzen deines Kennwortes erhalten." Das konnte ich jetzt schon mehrfach beobachten, sobald der Adapter läuft wird früher oder später das Passwort zurückgesetzt. Ist der Adapter aus kommt das nie. Im Log kommt dann verständlicherweise nur:

                          garmin.0 2023-11-14 09:07:19.345	error	TypeError: Cannot read properties of undefined (reading 'split')
                          garmin.0 2023-11-14 09:07:19.342	error	Failed ticket please check username and password
                          

                          Abrufintervall ist aktuell bei 61 Minuten. Hatte das Phänomen aber auch schon bei nur 1x täglich um 23:55 abrufen.
                          Hast du eine Idee woran das liegen könnte?

                          T 1 Antwort Letzte Antwort
                          0
                          • B bommel_030

                            @tombox
                            So, der Adapter hat jetzt knapp 7 Tage durchgehalten, eben bekam ich wieder die Mail von Garmin "Wir haben eine Anfrage zum Zurücksetzen deines Kennwortes erhalten." Das konnte ich jetzt schon mehrfach beobachten, sobald der Adapter läuft wird früher oder später das Passwort zurückgesetzt. Ist der Adapter aus kommt das nie. Im Log kommt dann verständlicherweise nur:

                            garmin.0 2023-11-14 09:07:19.345	error	TypeError: Cannot read properties of undefined (reading 'split')
                            garmin.0 2023-11-14 09:07:19.342	error	Failed ticket please check username and password
                            

                            Abrufintervall ist aktuell bei 61 Minuten. Hatte das Phänomen aber auch schon bei nur 1x täglich um 23:55 abrufen.
                            Hast du eine Idee woran das liegen könnte?

                            T Offline
                            T Offline
                            tombox
                            schrieb am zuletzt editiert von
                            #82

                            @bommel_030 bitte mal die GitHub version testen ob sie sich anders verhält

                            B 2 Antworten Letzte Antwort
                            0
                            • T tombox

                              @bommel_030 bitte mal die GitHub version testen ob sie sich anders verhält

                              B Nicht stören
                              B Nicht stören
                              bommel_030
                              schrieb am zuletzt editiert von
                              #83

                              @tombox
                              Mit GitHub Version mit den gleichen Einstellungen wieder ins Rennen geschickt. Melde mich wenn/falls das Passwort wieder resettet wird. Thx

                              1 Antwort Letzte Antwort
                              0
                              • K Offline
                                K Offline
                                kirbsi
                                schrieb am zuletzt editiert von
                                #84

                                Mit der GitHub Version geht bei mir auch wieder alles. Danke

                                1 Antwort Letzte Antwort
                                0
                                • T tombox

                                  @bommel_030 bitte mal die GitHub version testen ob sie sich anders verhält

                                  B Nicht stören
                                  B Nicht stören
                                  bommel_030
                                  schrieb am zuletzt editiert von
                                  #85

                                  @tombox
                                  Hi, hast du etwas am Abrufintervall geändert? Hab seit ein paar Tagen Fehlermeldungen im LOG die ich zeitlich nicht zuordnen kann.

                                  garmin.0 2023-11-20 12:25:22.753	warn	Terminated (UNCAUGHT_EXCEPTION): Without reason
                                  garmin.0 2023-11-20 12:25:22.750	error	Exception-Code: ERR_BAD_RESPONSE: Request failed with status code 500
                                  garmin.0 2023-11-20 12:25:22.750	error	AxiosError: Request failed with status code 500 at settle (/opt/iobroker/node_modules/iobroker.garmin/node_modules/axios/dist/node/axios.cjs:1913:12) at IncomingMessage.handleStreamEnd (/opt/iobroker/node_modules/iobroker.garmin/node_modules/axios/dist/node/axios.cjs:3008:11) at IncomingMessage.emit (node:events:526:35) at endReadableNT (node:internal/streams/readable:1359:12) at process.processTicksAndRejections (node:internal/process/task_queues:82:21)
                                  garmin.0 2023-11-20 12:25:22.749	error	unhandled promise rejection: Request failed with status code 500
                                  garmin.0 2023-11-20 12:25:22.748	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().
                                  

                                  Ich bekomme diese Fehlermeldung alle 2h. Mein ursprüngliches Abrufintervall war 61 Minuten. Nachdem ich den Fehler bemerkt habe, habe ich den Adapter erstmal 1 Tag pausiert und ihn dann mit dem Abrufintervall 91 Minuten wieder gestartet.
                                  Die Daten werden weiterhin aktualisiert und ich habe noch keinen Passwortreset erhalten. Was ich nicht verstehe, die Datenpunkte werden alles 60 Minuten aktualisiert, alle 120 Minuten kommt der Fehler, aber das Abrufintervall steht auf 91 Minuten.

                                  T 1 Antwort Letzte Antwort
                                  0
                                  • B bommel_030

                                    @tombox
                                    Hi, hast du etwas am Abrufintervall geändert? Hab seit ein paar Tagen Fehlermeldungen im LOG die ich zeitlich nicht zuordnen kann.

                                    garmin.0 2023-11-20 12:25:22.753	warn	Terminated (UNCAUGHT_EXCEPTION): Without reason
                                    garmin.0 2023-11-20 12:25:22.750	error	Exception-Code: ERR_BAD_RESPONSE: Request failed with status code 500
                                    garmin.0 2023-11-20 12:25:22.750	error	AxiosError: Request failed with status code 500 at settle (/opt/iobroker/node_modules/iobroker.garmin/node_modules/axios/dist/node/axios.cjs:1913:12) at IncomingMessage.handleStreamEnd (/opt/iobroker/node_modules/iobroker.garmin/node_modules/axios/dist/node/axios.cjs:3008:11) at IncomingMessage.emit (node:events:526:35) at endReadableNT (node:internal/streams/readable:1359:12) at process.processTicksAndRejections (node:internal/process/task_queues:82:21)
                                    garmin.0 2023-11-20 12:25:22.749	error	unhandled promise rejection: Request failed with status code 500
                                    garmin.0 2023-11-20 12:25:22.748	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().
                                    

                                    Ich bekomme diese Fehlermeldung alle 2h. Mein ursprüngliches Abrufintervall war 61 Minuten. Nachdem ich den Fehler bemerkt habe, habe ich den Adapter erstmal 1 Tag pausiert und ihn dann mit dem Abrufintervall 91 Minuten wieder gestartet.
                                    Die Daten werden weiterhin aktualisiert und ich habe noch keinen Passwortreset erhalten. Was ich nicht verstehe, die Datenpunkte werden alles 60 Minuten aktualisiert, alle 120 Minuten kommt der Fehler, aber das Abrufintervall steht auf 91 Minuten.

                                    T Offline
                                    T Offline
                                    tombox
                                    schrieb am zuletzt editiert von
                                    #86

                                    @bommel_030 bitte mal die GitHub erneut installieren

                                    B 2 Antworten Letzte Antwort
                                    0
                                    • T tombox

                                      @bommel_030 bitte mal die GitHub erneut installieren

                                      B Nicht stören
                                      B Nicht stören
                                      bommel_030
                                      schrieb am zuletzt editiert von
                                      #87

                                      @tombox
                                      Adapter um 6:53 in der GitHub Version gestartet. Daten ohne Meldung abgerufen. Nach dem eingestellten Intervall von 91 Minuten um 8:24 wieder Daten abgerufen ohne Meldung im LOG.
                                      Um 8:53, 9:53 und 9:57 (passt nicht zum Intervall ?!?) Folgende Fehlermeldung im LOG

                                      garmin.0 2023-11-21 09:57:01.848	error	{"statusCode":500,"message":"Internal server error"}
                                      garmin.0 2023-11-21 09:57:01.848	error	AxiosError: Request failed with status code 500
                                      garmin.0 2023-11-21 09:57:01.848	error	Failed refresh token
                                      garmin.0 2023-11-21 09:53:55.518	error	{"statusCode":500,"message":"Internal server error"}
                                      garmin.0 2023-11-21 09:53:55.518	error	AxiosError: Request failed with status code 500
                                      garmin.0 2023-11-21 09:53:55.518	error	Failed refresh token
                                      garmin.0 2023-11-21 08:53:56.605	error	{"statusCode":500,"message":"Internal server error"}
                                      garmin.0 2023-11-21 08:53:56.605	error	AxiosError: Request failed with status code 500
                                      garmin.0 2023-11-21 08:53:56.603	error	Failed refresh token
                                      

                                      Um 10:09 kam die Mail von Garmin Passwort wurde zurückgesetzt.

                                      1 Antwort Letzte Antwort
                                      0
                                      • T tombox

                                        @bommel_030 bitte mal die GitHub erneut installieren

                                        B Nicht stören
                                        B Nicht stören
                                        bommel_030
                                        schrieb am zuletzt editiert von
                                        #88

                                        @tombox
                                        Hab das Passwort erneuert und den Adapter mit 121 Abfrageintervall im Debug Modus neu gestartet. Dabei hat er zumindest die aktuellen Schritte noch abgerufen.
                                        Scheinbar versucht der Adapter jede Stunde den Token zu erneuern, egal welches Abrufintervall eingestellt ist. Ist das notwendig bzw.. so gewollt?

                                        garmin.0 2023-11-21 12:24:00.469	error	{"statusCode":500,"message":"Internal server error"}
                                        garmin.0 2023-11-21 12:24:00.469	error	AxiosError: Request failed with status code 500
                                        garmin.0 2023-11-21 12:24:00.469	error	Failed refresh token
                                        garmin.0 2023-11-21 12:23:59.081	debug	Refresh token
                                        garmin.0 2023-11-21 11:24:02.206	debug	{"access_token":"Hier stand ein richtiger Token","token_type":"bearer","refresh_token":"eyJyZWZyZXNoVG9rZW5WYWx1ZSI6IjU2MWQzYzkwLWVjYWItNDc3Yy1hNTAwLWYxMTNkZmNkMzFkNSIsImdhcm1pbkd1aWQiOiI0MjRmYmU5Ny1hODlkLTQ3ZWItYTFjYi1jYmViN2YwMGViODUifQ==","expires_in":3599,"scope":"COMMUNITY_COURSE_READ GOLF_API_READ GHS_HID ATP_READ GHS_SAMD INSIGHTS_READ COMMUNITY_COURSE_WRITE CONNECT_WRITE DIVE_SHARED_READ GHS_REGISTRATION DT_CLIENT_ANALYTICS_WRITE GOLF_API_WRITE INSIGHTS_WRITE PRODUCT_SEARCH_READ GOLF_SHARED_READ CONNECT_NON_SOCIAL_SHARED_READ CONNECT_READ ATP_WRITE","jti":"728ee707-c245-4989-953f-5d1b14ff3e99","refresh_token_expires_in":7199}
                                        garmin.0 2023-11-21 11:24:00.080	debug	Refresh token
                                        garmin.0 2023-11-21 10:24:01.080	debug	{"startDate":"2023-11-15","endDate":"2023-11-21","dateWeightList":[],"totalAverage":{"from":1700006400000,"until":1700611199999,"weight":null,"bmi":null,"bodyFat":null,"bodyWater":null,"boneMass":null,"muscleMass":null,"physiqueRating":null,"visceralFat":null,"metabolicAge":null}}
                                        

                                        Hab den Adapter jetzt erstmal wieder deaktiviert.

                                        T 1 Antwort Letzte Antwort
                                        0
                                        • B bommel_030

                                          @tombox
                                          Hab das Passwort erneuert und den Adapter mit 121 Abfrageintervall im Debug Modus neu gestartet. Dabei hat er zumindest die aktuellen Schritte noch abgerufen.
                                          Scheinbar versucht der Adapter jede Stunde den Token zu erneuern, egal welches Abrufintervall eingestellt ist. Ist das notwendig bzw.. so gewollt?

                                          garmin.0 2023-11-21 12:24:00.469	error	{"statusCode":500,"message":"Internal server error"}
                                          garmin.0 2023-11-21 12:24:00.469	error	AxiosError: Request failed with status code 500
                                          garmin.0 2023-11-21 12:24:00.469	error	Failed refresh token
                                          garmin.0 2023-11-21 12:23:59.081	debug	Refresh token
                                          garmin.0 2023-11-21 11:24:02.206	debug	{"access_token":"Hier stand ein richtiger Token","token_type":"bearer","refresh_token":"eyJyZWZyZXNoVG9rZW5WYWx1ZSI6IjU2MWQzYzkwLWVjYWItNDc3Yy1hNTAwLWYxMTNkZmNkMzFkNSIsImdhcm1pbkd1aWQiOiI0MjRmYmU5Ny1hODlkLTQ3ZWItYTFjYi1jYmViN2YwMGViODUifQ==","expires_in":3599,"scope":"COMMUNITY_COURSE_READ GOLF_API_READ GHS_HID ATP_READ GHS_SAMD INSIGHTS_READ COMMUNITY_COURSE_WRITE CONNECT_WRITE DIVE_SHARED_READ GHS_REGISTRATION DT_CLIENT_ANALYTICS_WRITE GOLF_API_WRITE INSIGHTS_WRITE PRODUCT_SEARCH_READ GOLF_SHARED_READ CONNECT_NON_SOCIAL_SHARED_READ CONNECT_READ ATP_WRITE","jti":"728ee707-c245-4989-953f-5d1b14ff3e99","refresh_token_expires_in":7199}
                                          garmin.0 2023-11-21 11:24:00.080	debug	Refresh token
                                          garmin.0 2023-11-21 10:24:01.080	debug	{"startDate":"2023-11-15","endDate":"2023-11-21","dateWeightList":[],"totalAverage":{"from":1700006400000,"until":1700611199999,"weight":null,"bmi":null,"bodyFat":null,"bodyWater":null,"boneMass":null,"muscleMass":null,"physiqueRating":null,"visceralFat":null,"metabolicAge":null}}
                                          

                                          Hab den Adapter jetzt erstmal wieder deaktiviert.

                                          T Offline
                                          T Offline
                                          tombox
                                          schrieb am zuletzt editiert von
                                          #89

                                          @bommel_030 Der stündliche Refresh ist vorgegeben ich hab jetzt ein wenig reduziert nicht das es vielleicht doch zu lange dauert bitte nochmal die aktuelle GitHub version in den dauertest

                                          B 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          821

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe