MagicMirror Forum
    • Recent
    • Tags
    • Unsolved
    • Solved
    • MagicMirror² Repository
    • Documentation
    • 3rd-Party-Modules
    • Donate
    • Discord
    • Register
    • Login
    A New Chapter for MagicMirror: The Community Takes the Lead
    Read the statement by Michael Teeuw here.

    MMM-Strava

    Scheduled Pinned Locked Moved Health
    activity trackerhealthstrava
    138 Posts 34 Posters 258.8k Views 35 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • karsten13K Offline
      karsten13 @iMAGiC
      last edited by

      @iMAGiC Found this thread today, can reproduce your problems:
      a) more than 1strava-module don’t work
      b) flashing problem

      I already opened an issue here

      1 Reply Last reply Reply Quote 0
      • brandongomezB Offline
        brandongomez
        last edited by

        Great module! I tried to implement but my module is stuck at “Loading…”

        Guessing it has something to do with the API creation. I have my athlete ID that I see when I look at my Strava profile.

        I ended up with a Client ID, Client Secret and Access Token when I created the API. Guessing I should be using only the Access Token?

        Also, when I created the API, I had to put in a website and authorization callback domain. Not sure if these have an affect but I used the internal IP for the raspberry pi for both. Is that right? Thanks!

        G 1 Reply Last reply Reply Quote 0
        • G Offline
          GMD @brandongomez
          last edited by

          Hi

          Did you get a resolution to your issue as I seem to have similar issue with module stuck at Loading…

          When I look at the terminal window I am getting error:

          Error performing request: Unauthorized. Access Token will be reset.
          Error while fetching new athlete stats.

          Look at code this is a 401 error.

          I am getting confused as I thought the Strava API key was public but from this error it looks as though it wants to authorise API Key.

          As this is an old post I will create a new post this evening with some more detail.

          1 Reply Last reply Reply Quote 0
          • G Offline
            GMD @ianperrin
            last edited by

            @ianperrin

            Hi Ian

            Can you help as I think I am getting confused.

            I carried out the following steps:

            1. Imported MMM-Strava into my modules folder.
            2. Logged into my Strava account and navigated ->Settings->My API Application
            3. Created an application icon
            4. Completed fields, Application Name = MyData, Category = Other, Website = https://Strava.com, Authorization Callback Domain = 127.0.0.1
            5. Click update button
            6. Copied Client ID and Your Access Token (?) (permissions: public)
            7. Update MagicMirror config.js with Client ID and Your Access Token
            8. Restarted MagicMirror

            When MagicMirror displays the Strava modules says Loading… and looking at the terminal window I can see errors:

            Error performing request: Unauthorized. Access Token will be reset.
            Error while fetching new athlete stats.

            Which looks to be a 401 error from code that, access token has not been authorised.

            Can anybody point me to what I am doing wrong.

            1 Reply Last reply Reply Quote 0
            • karsten13K Offline
              karsten13
              last edited by

              Hi,

              sounds you took the client id from the strava api page as input for strava_id of the module?

              Input of strava_id: https://support.strava.com/hc/en-us/articles/216928797-Where-do-i-find-my-Strava-ID-

              Karsten.

              G 1 Reply Last reply Reply Quote 0
              • G Offline
                GMD @karsten13
                last edited by

                @karsten13

                Hi

                Firstly thank you for your reply.

                You are correct I used the client id and when I replaced this with the strava id as your link described all works great.

                Thanks again.

                1 Reply Last reply Reply Quote 0
                • D Offline
                  Dicous
                  last edited by

                  Hello,
                  I have the problems that with the following config the module is always “loading…”.

                  Can someone help me?

                  		{
                  			module: 'MMM-Strava',
                  			position: 'top_left',
                  			config: {
                  				strava_id: 'xxx1, xxx2',
                  				access_token: 'xxx1, xxx2',
                  				activities: 'run',
                  				athlete_text: 'Tine, Basti',
                  			    auto_rotate: 'true'
                  				 }
                  		},
                  
                  karsten13K 1 Reply Last reply Reply Quote 0
                  • karsten13K Offline
                    karsten13 @Dicous
                    last edited by

                    try it with the missing brackets:

                    		{
                    			module: 'MMM-Strava',
                    			position: 'top_left',
                    			config: {
                    				strava_id: ['xxx1', 'xxx2'],
                    				access_token: ['xxx1', 'xxx2'],
                    				activities: ['run'],
                    				athlete_text: ['Tine', 'Basti'],
                    			    auto_rotate: 'true'
                    				 }
                    		},
                    
                    1 Reply Last reply Reply Quote 0
                    • D Offline
                      Dicous
                      last edited by

                      Unfortunately, no solution

                      1 Reply Last reply Reply Quote 0
                      • karsten13K Offline
                        karsten13
                        last edited by

                        your setup works for me, changed only strava_id’s and access_token’s.
                        Did you put every single strava_id and every single access_token in single quotes as provided in my example? In your post you put 2 things in one single quote …
                        Other possibilities: Wrong strava data (id/token)? Did you read the documentation how to get strava_id?
                        Did you take a look in the logs?
                        If I test it with your testdata xxx I find these lines in the logs:

                        Error performing request: Unauthorized. Access Token will be reset.
                        Error while fetching new athlete stats.
                        
                        
                        1 Reply Last reply Reply Quote 0
                        • D Offline
                          Dicous
                          last edited by

                          It works. Despite control I had the wrong API sorry

                          1 Reply Last reply Reply Quote 0
                          • zerodegree79Z Offline
                            zerodegree79
                            last edited by

                            Hi guys, i am using the Strava-Module and over the Winter i am doing a lot of indoor-cycling with Zwift. I was wondering if it is possible to integrate “virtual cycling” into the module and if it’s possible, then how. Hope anyone can answer this. I don`t need the “swim” anyway, so i would like to interchange it with “virtual ride”

                            I 1 Reply Last reply Reply Quote 0
                            • I Offline
                              ianperrin @zerodegree79
                              last edited by ianperrin

                              @zerodegree79

                              You should be able to hide swim activities by adding the following to your config

                              activities: ["ride", "run"]
                              

                              Adding other activity types will need some investigation of the Strava API as ActivityStats only returns totals for the three activity types currently available.

                              I need to look at the module again shortly as there is an change to the API which requires a different authentication mechanism so I’ll try an pick this up then

                              "Live as if you were to die tomorrow. Learn as if you were to live forever." - Mahatma Gandhi

                              zerodegree79Z 1 Reply Last reply Reply Quote 0
                              • zerodegree79Z Offline
                                zerodegree79 @ianperrin
                                last edited by

                                @ianperrin said in MMM-Strava:

                                @zerodegree79

                                You should be able to hide swim activities by adding ‘’‘activities: [“ride”, “run”]’‘’ to your config

                                Adding other activity types will need some investigation of the Strava API as ActivityStats only returns totals for the three activity types currently available.

                                I need to look at the module again shortly as there is an change to the API which requires a different authentication mechanism so I’ll try an pick this up then

                                Thanks for your reply. I know that i can hide “swim”, but just wanted to change it to “virtual ride”. So i just wait until you have looked at the API.
                                Thanks in advance for your support.

                                I 1 Reply Last reply Reply Quote 0
                                • I Offline
                                  ianperrin @zerodegree79
                                  last edited by

                                  @zerodegree79 great - wasn’t sure from your comment whether you’d spotted the option on the config.

                                  After a quick look, I’ve pushed a change to the module which includes virtual activities in the chart stats. Take a look and let me know if this works as expected.

                                  "Live as if you were to die tomorrow. Learn as if you were to live forever." - Mahatma Gandhi

                                  zerodegree79Z 1 Reply Last reply Reply Quote 0
                                  • zerodegree79Z Offline
                                    zerodegree79 @ianperrin
                                    last edited by

                                    @ianperrin hi, thanks for the fast response. I tried to update, but now it is stuck in loading activities. I changed the MMM-Strava.js. What else do i need to edit? Below is my config:

                                     // Default module config.
                                        defaults: {
                                            strava_id: ['XXXXXX'],                      // List of strava_id's, could get this from current athlete - https://strava.github.io/api/v3/athlete/#get-details
                                            access_token: ['XXXXXXXXXXXXXXXXX'],                   // List of acces_token's (corresponding to the strava_id's), see https://www.strava.com/settings/api
                                            athlete_text: [''],                   // List of athlete_text's (corresponding to the strava_id's), will be diplayed instead of ativity_text
                                            mode: 'table',                        // Possible values "table", "chart"
                                            elevation: true,                     // Shows elevation in "table" mode
                                            activities: ["ride", "run", "virtual"],  // Possible values "ride", "run", "swim"
                                            period: "all",                     // Possible values "recent", "ytd", "all"
                                            auto_rotate: true,                   // Rotate stats through each period starting from specified period
                                            locale: config.language,
                                            units: config.units,
                                            fade: false,
                                            fadePoint: 0.1,                       // Start on 1/4th of the list.
                                            reloadInterval: 5 * 60 * 1000,        // every 5 minutes
                                            updateInterval: 600 * 1000,            // 10 seconds
                                            animationSpeed: 10 * 1000,           // 2.5 seconds
                                            debug: false,                         // Set to true to enable extending logging
                                        },
                                    

                                    No idea whats wrong. Thanks in advance.

                                    I 1 Reply Last reply Reply Quote 0
                                    • I Offline
                                      ianperrin @zerodegree79
                                      last edited by ianperrin

                                      @zerodegree79

                                      You should avoid editing the module files and place your configuration in the config.js file - check the readme file for installation, update and configuration notes

                                      Once you’ve reverted your changes to the module files, pull the latest version of the module and make sure config.js is correctly configured.

                                      There is no need to add anything special to the config to include virtual activities as these will be rolled up into the ride and run totals in the chart like the table mode and your dashboard on the Strava website

                                      "Live as if you were to die tomorrow. Learn as if you were to live forever." - Mahatma Gandhi

                                      zerodegree79Z 1 Reply Last reply Reply Quote 0
                                      • zerodegree79Z Offline
                                        zerodegree79 @ianperrin
                                        last edited by

                                        @ianperrin thanks for your help, changed back and now it`s working fine. Just one Question left. Is there a way to “isolate” the virtual rides? To show them separately in the charts?

                                        1 Reply Last reply Reply Quote 0
                                        • zerodegree79Z Offline
                                          zerodegree79
                                          last edited by

                                          HEy @ianperrin, since Strava changed their API- Refreshing, i need to put in the Access Token manually every 6 hours. Can you change this in your module? Here is the API Handbook from Strava. I have no idea how this wors, so maybe you can fix it. https://developers.strava.com/docs/authentication/#Refresh expired

                                          Thanks in advance.

                                          C 1 Reply Last reply Reply Quote 0
                                          • C Offline
                                            ctatos @zerodegree79
                                            last edited by

                                            @zerodegree79 I temporarily solved the problem with an external python script found at https://github.com/hozn/stravalib . The script retrieves a newly generated access token every 4-5h and find/replaces it in the config.js file. I then have a crontab that recycles the Magic Mirror.

                                            There must be a better way, but I can’t complain for now…

                                            I zerodegree79Z 2 Replies Last reply Reply Quote 0

                                            Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                                            Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                                            With your input, this post could be even better 💗

                                            Register Login
                                            • 1
                                            • 2
                                            • 3
                                            • 4
                                            • 5
                                            • 6
                                            • 7
                                            • 1 / 7
                                            • First post
                                              Last post
                                            Enjoying MagicMirror? Please consider a donation!
                                            MagicMirror created by Michael Teeuw.
                                            Forum managed by Sam, technical setup by Karsten.
                                            This forum is using NodeBB as its core | Contributors
                                            Contact | Privacy Policy