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.
  • AgrippinenserA Offline
    AgrippinenserA Offline
    Agrippinenser
    schrieb am zuletzt editiert von
    #67

    gerade mal das Konto mit MFA konfiguriert. Aber wie @newbie0815 zuvor geschrieben hat sendete Garmin im Sekundentakt 5-10 Codes. Werde der erste noch der letzte funktionierte. Zu guter Letzt war das Garmin Konto wegen zu vieler Anmeldeversuche gesperrt.

    Grüße vom Rhein @Colonia Claudia Ara Agrippinensium

    AgrippinenserA 1 Antwort Letzte Antwort
    0
    • AgrippinenserA Agrippinenser

      gerade mal das Konto mit MFA konfiguriert. Aber wie @newbie0815 zuvor geschrieben hat sendete Garmin im Sekundentakt 5-10 Codes. Werde der erste noch der letzte funktionierte. Zu guter Letzt war das Garmin Konto wegen zu vieler Anmeldeversuche gesperrt.

      AgrippinenserA Offline
      AgrippinenserA Offline
      Agrippinenser
      schrieb am zuletzt editiert von
      #68

      Ein Frage noch. Unter Garmin.0 liegen hier 13795 Datenpunkte. Das ist schon ne Menge Zeugs denke ich, zumal ich nur ca. 10 davon einmal am Tag brauche.

      Kann man ermitteln wie lange der Aktualisierungsvorgang dauert ?
      Die Idee war den Adapter morgens zur bestimmten Uhrzeit per Script zu starten und nach Aktualisierung der Daten wieder zu beenden.

      Grüße vom Rhein @Colonia Claudia Ara Agrippinensium

      1 Antwort Letzte Antwort
      0
      • hg6806H Offline
        hg6806H Offline
        hg6806
        Most Active
        schrieb am zuletzt editiert von
        #69

        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 1 Antwort Letzte Antwort
        0
        • 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
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          461

                                          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