Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Tester
    4. Test Adapter Garmin

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Test Adapter Garmin

    This topic has been deleted. Only users with topic management privileges can see it.
    • Curtis777
      Curtis777 @tombox last edited by

      @tombox Danke, funktioniert wieder.
      Läuft wie am Schnürchen.

      Gibts denn schon selbst gebaute Widgets ?
      um das ganze Optisch gut darzustellen ?

      1 Reply Last reply Reply Quote 0
      • Agrippinenser
        Agrippinenser @tombox last edited by

        Ich habe testweise Garmin v0.0.4 installiert. Node.js v18.16.0. Kein MFA.
        Dabei treten reichlich Fehler auf. Ich hatte testweise alle 15 Minuten aktualisiert - nun wieder auf 60 Minuten hoch gesetzt. Kann das mit der "geringen" Aktualisierung Zeit zusammen hängen?

        {"clientMessage":"Reference Error ID in error logs for further information","errorId":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx","error":"WebApplicationException"}
        
        garmin.0
        2023-06-09 15:40:45.376	error	AxiosError: Request failed with status code 403
        
        garmin.0
        2023-06-09 15:40:45.376	error	https://connect.garmin.com/modern/proxy/weight-service/weight/dateRange?startDate=2023-06-03&endDate=2023-06-09
        
        garmin.0
        2023-06-09 15:40:45.151	error	{"clientMessage":"Reference Error ID in error logs for further information","errorId":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx","error":"WebApplicationException"}
        
        garmin.0
        2023-06-09 15:40:45.151	error	AxiosError: Request failed with status code 403
        
        garmin.0
        2023-06-09 15:40:45.151	error	https://connect.garmin.com/modern/proxy/activitylist-service/activities/search/activities?start=0&limit=10
        
        garmin.0
        2023-06-09 15:40:44.915	error	{"clientMessage":"Reference Error ID in error logs for further information","errorId":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx","error":"WebApplicationException"}
        
        1 Reply Last reply Reply Quote 0
        • Agrippinenser
          Agrippinenser last edited by

          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.

          Agrippinenser 1 Reply Last reply Reply Quote 0
          • Agrippinenser
            Agrippinenser @Agrippinenser last edited by

            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.

            1 Reply Last reply Reply Quote 0
            • hg6806
              hg6806 Most Active last edited by

              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 Reply Last reply Reply Quote 0
              • T
                tombox @hg6806 last edited by

                @hg6806 Wo sind denn genau zuviel Objekte

                hg6806 1 Reply Last reply Reply Quote 0
                • hg6806
                  hg6806 Most Active @tombox last edited by

                  @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 Reply Last reply Reply Quote 0
                  • M
                    micha182 @tombox last edited by

                    @tombox

                    Toller Adapter, herzlichen Dank!

                    1 Reply Last reply Reply Quote 0
                    • K
                      kirbsi last edited by

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

                      T 1 Reply Last reply Reply Quote 0
                      • K
                        kirbsi last edited by

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

                        T 1 Reply Last reply Reply Quote 0
                        • T
                          tombox @kirbsi last edited by

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

                          B 1 Reply Last reply Reply Quote 0
                          • B
                            bommel_030 @tombox last edited by

                            @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 Reply Last reply Reply Quote 0
                            • T
                              tombox @bommel_030 last edited by

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

                              B 1 Reply Last reply Reply Quote 0
                              • B
                                bommel_030 @tombox last edited by

                                @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 Reply Last reply Reply Quote 0
                                • T
                                  tombox @kirbsi last edited by

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

                                  B 2 Replies Last reply Reply Quote 0
                                  • B
                                    bommel_030 @tombox last edited by

                                    @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 Reply Last reply Reply Quote 0
                                    • B
                                      bommel_030 @tombox last edited by

                                      @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 Reply Last reply Reply Quote 0
                                      • T
                                        tombox @bommel_030 last edited by

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

                                        B 2 Replies Last reply Reply Quote 0
                                        • B
                                          bommel_030 @tombox last edited by

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

                                          1 Reply Last reply Reply Quote 0
                                          • K
                                            kirbsi last edited by

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

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            838
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            17
                                            141
                                            15913
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo