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.

    Fitbit

    Scheduled Pinned Locked Moved Troubleshooting
    129 Posts 42 Posters 200.8k Views 37 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.
    • O Offline
      Oliver_Tooth @bhepler
      last edited by

      @bhepler That’d be fantastic if you could! This is a 21st birthday present due in just under a weeks time, so i’m starting to panic somewhat!

      1 Reply Last reply Reply Quote 0
      • O Offline
        Oliver_Tooth @daniel44992
        last edited by

        @daniel44992 I too am having this exact issue. Did you ever find a solution?

        1 Reply Last reply Reply Quote 0
        • bheplerB Offline
          bhepler Module Developer
          last edited by

          @Oliver_Tooth I was able to successfully install the Fitbit module and get it to pull information from the web API. It took a little tweaking, but I did get it to work.

          Problems I encountered:

          • Python was not installed. I had to install it and figure out how to install “pip”.
          • Fitbit doesn’t make their developer area visible off their main website. I ended up bouncing through their forums first.
          • Example config file on the module GitHub page contains errors. The character after config: should be {, not [.
          • The secret key and appID field values need to be surrounded by single quotes, something not explained in the readme file.

          Here’s the relevant portion of my config.sys file.

          {
                  module: 'MMM-fitbit',
                  position: 'bottom_left',
                  config: {
                          credentials: {
                                  client_id: '000XX0',
                                  client_secret: 'abbacadabba1234567890',
                                  },
                          resources: [
                                  'steps',
                                  'floors',
                                  'caloriesOut',
                                  'distance',
                                  'activeMinutes',
                                  'sleep',
                                  'heart'
                                  ],
                          update_interval: 60
                          }
          },
          

          When you run npm start the MMM-Fitbit python script will run and kick out a few lines in the console. I’m not entirely sure what it’s doing, but here’s what mine reads:

          Set credential request recieved.
          { client_id: '000XX0',
            client_secret: 'abbacadabba1234567890' }
          Initial run request recieved.
          Running getData.py
          results: [{"message":"credentials.ini exists","type":"status"},{"message":"Writing credentials to credentials.ini","type":"status"},{"message":"Writing id: 000XX0 and secret: abbacadabba1234567890","type":"status"},{"message":"Credentials write successful","type":"status"}]
          

          When I ran the setupAccess.py script, it failed to modify the credentials.ini file. I ended up editing it manually and plugging in my application ID and my secret key. The format is simple. Spaces before & after the = and no quotes around the ID or key.

          VendittelliV O V 3 Replies Last reply Reply Quote 1
          • VendittelliV Offline
            Vendittelli Module Developer @bhepler
            last edited by

            @bhepler Please, if you spot any problems with the documentation, create a pull request on GitHub and I’ll happily make those changes.

            1 Reply Last reply Reply Quote 1
            • O Offline
              Oliver_Tooth @bhepler
              last edited by

              @bhepler That’s great news! I’ve managed to get mine up and working, but from what I can tell initially, it doesn’t seem to stay authorised for longer than a day, i’m currently browsing the python-fitbit forum for help on that. It’s also only showing data for steps, with all other fields showing 0. Is this something you’ve encountered?

              bheplerB 1 Reply Last reply Reply Quote 0
              • bheplerB Offline
                bhepler Module Developer @Oliver_Tooth
                last edited by

                @Oliver_Tooth Somewhat. I see steps, distance and calories. Sleep is zero. There’s definitely something going on here. I haven’t run it long enough to encounter the authorization problem. I’ll investigate further tonight.

                @Vendittelli - I’ll do that. I should have a PR for you in a couple days. Thanks for the great module!

                1 Reply Last reply Reply Quote 0
                • S Offline
                  s199
                  last edited by

                  Hello, thank you for that nice addon…i finally managed to make it work (exemple code is still incorrect on github…) but there is a problem, im using an alta hr and i only have the “steps” info on display, everything else is set to 0 :/
                  Any idea how i can fix that ?

                  S 1 Reply Last reply Reply Quote 0
                  • Sandy2503S Offline
                    Sandy2503
                    last edited by

                    The Modul wont work on my Mirror too.
                    First:
                    In the moment i haven`t any Fitbit Hardware. I use the Fitbit -App on my WindowsPhone. I can see in the App all useful things like step etc. and the data will sync with the Fitbit webservce.
                    I can see all activitys an the Mirror with a Zero …

                    When i stop the mirror with
                    pm2 stop mm and try to start the python script setupAccess.py from the local terminal so i can see this:

                    //your code here
                    sudo python setupAccess.py
                    Get credentials from credentials.ini ? (Y/N)
                    y
                    {"message": "credentials.ini exists", "type": "status"}
                    {"message": "Reading from crentials.ini", "type": "status"}
                    {"message": "Read of credentials.ini successful.", "type": "status"}
                    [19/Sep/2017:19:30:03] ENGINE Listening for SIGHUP.
                    [19/Sep/2017:19:30:03] ENGINE Listening for SIGTERM.
                    [19/Sep/2017:19:30:03] ENGINE Listening for SIGUSR1.
                    [19/Sep/2017:19:30:03] ENGINE Bus STARTING
                    CherryPY Checker:
                    The Application mounted at '' has an empty config.
                    
                    [19/Sep/2017:19:30:03] ENGINE Started monitor thread 'Autoreloader'.
                    [19/Sep/2017:19:30:03] ENGINE Started monitor thread '_TimeoutMonitor'.
                    [19/Sep/2017:19:30:03] ENGINE Serving on http://127.0.0.1:8080
                    [19/Sep/2017:19:30:03] ENGINE Bus STARTED
                    

                    and not more - and no prompt …

                    when i now from a second terminal the mirror restart with pm2 restart mm
                    i see on the mirror only:

                    //your code here
                    ```Traceback (most recent call last):
                      File "/usr/local/lib/python2.7/dist-packages/cherrypy/_cprequest.py", line 670, in respond
                        response.body = self.handler()
                      File "/usr/local/lib/python2.7/dist-packages/cherrypy/lib/encoding.py", line 217, in __call__
                        self.body = self.oldhandler(*args, **kwargs)
                      File "/usr/local/lib/python2.7/dist-packages/cherrypy/_cpdispatch.py", line 67, in __call__
                        raise sys.exc_info()[1]
                    HTTPError: (404, `Missing parameters: state`)
                    
                    CherryPy 3.8.2
                    

                    Can anyone help me to fix the problem ?

                    Greetz Sandy2503

                    1 Reply Last reply Reply Quote 0
                    • S Offline
                      stephenmelody @s199
                      last edited by

                      @s199 I also have this problem, only Steps is coming through. Did you manage to get it fixed?

                      1 Reply Last reply Reply Quote 0
                      • S Offline
                        stephenmelody
                        last edited by

                        This is my output of getData.py

                        pi@Magic-Mirror:~/MagicMirror/modules/MMM-fitbit/python $ sudo python getData.py
                        {"message": "credentials.ini exists", "type": "status"}
                        {"message": "Reading from credentials.ini", "type": "status"}
                        {"message": "Read of credentials.ini successful.", "type": "status"}
                        {"message": "credentials.ini exists", "type": "status"}
                        {"message": "Reading from credentials.ini", "type": "status"}
                        {"message": "Read of credentials.ini successful.", "type": "status"}
                        {"message": "tokens.ini exists", "type": "status"}
                        {"message": "Reading from tokens.ini", "type": "status"}
                        {"message": "Read of tokens.ini successful.", "type": "status"}
                        {"message": "Making API call", "type": "status"}
                        {"message": "API call okay", "type": "status"}
                        {"message": "Tokens valid", "type": "status"}
                        {"values": {"data": 1649, "goal": 10000}, "resource": "steps", "type": "data"}
                        {"values": {"data": 0, "goal": 1}, "resource": "floors", "type": "data"}
                        pi@Magic-Mirror:~/MagicMirror/modules/MMM-fitbit/python $
                        
                        
                        1 Reply Last reply Reply Quote 0
                        • pyrosmileyP Offline
                          pyrosmiley
                          last edited by

                          For a little ways now, I’ve been running into an issue where, after running for a day or so, the module stops being able to update. It seems that it’s failing --for some odd reason-- to write the new Refresh Token, so when the Access token is expired, it needs to be re-authorized. I’ve looked through the code and I don’t know a whole lot but I cannot figure out why it’s doing what it’s doing. For now, I have this shell script set to run every night, and that seems to keep it running well enough. I’m sure there’s a better way but until I can get around to learning more, the kludgy way will do.

                          #!/bin/bash
                          
                          export DISPLAY=:0
                          pm2 stop MagicMirror
                          python  ~/MagicMirror/modules/MMM-fitbit/python/setupAccess.py
                          killall chromium-browser
                          pm2 start MagicMirror
                          
                          exit 0
                          

                          The first line is there so that it can be run manually over SSH. I did have to log in manually once, but I just told chromium to remember me, so now I don’t have to do anything to re-grant access.

                          If anyone has a better fix, I’d love to hear your thoughts!

                          Sandy2503S C 2 Replies Last reply Reply Quote 0
                          • Sandy2503S Offline
                            Sandy2503 @pyrosmiley
                            last edited by

                            Hi.

                            I start the setupAccess.py and i have got an Error from Chromium Browser.

                            In the Message stands the the Chromium Browser starts as normal user and not as root.

                            How can i fix it ?

                            Sandy

                            1 Reply Last reply Reply Quote 0
                            • M Offline
                              MattSharp
                              last edited by

                              Has anyone managed to get this installed on a Raspberry Pi Zero W using Jessie Lite?

                              When running setupAccess.py I can’t get anywhere as it doesn’t open a browser window so I can’t authenticate.

                              Any help appreciated.

                              1 Reply Last reply Reply Quote 0
                              • C Offline
                                Costi @pyrosmiley
                                last edited by

                                @pyrosmiley I had the same issue and I could change it by setting new rights for the tokens.ini file. Set the rights for write to all (before this only for root access) and the new token can be written. Update works now, let’ see how long …

                                1 Reply Last reply Reply Quote 0
                                • A Offline
                                  Achilles
                                  last edited by

                                  Hello all,

                                  Newbie here. I know I am late trying to put together a MagicMirror, but I just discovered this! Anyway, I am trying to put this Fitbit module on mine, and I when I run “sudo python setupAccess.py”, I get a “python: can’t open file ‘setupAccess.py’: [Errno 2] No such file or directory” error.

                                  I am not sure where I have gone wrong here, as I have followed the instructions thus far found here:

                                  https://github.com/SVendittelli/MMM-fitbit/blob/master/README.md

                                  Any ideas?

                                  Thanks.

                                  1 Reply Last reply Reply Quote 0
                                  • A Offline
                                    Achilles
                                    last edited by

                                    I fixed it. Newbie mistake, I was in the wrong directory when I tried to excute the command. Having problems now trying to get my steps to show, so I have pouring over all of the info here in the forum…thanks to all who have posted here

                                    1 Reply Last reply Reply Quote 0
                                    • A Offline
                                      Achilles
                                      last edited by

                                      I got it to work! Great module!

                                      1 Reply Last reply Reply Quote 1
                                      • C Offline
                                        cambor
                                        last edited by cambor

                                        @achilles
                                        @Vendittelli

                                        Hi! I too am new to MagicMirror (and programming in general) and am trying to install the Fitbit module. Maybe as you have done it so recently you could help me please?

                                        When I enter:

                                        sudo pip install -r python/fitbit/requirements.txt

                                        I get the following error message:

                                        Could not open requirements file: [Errno 2] No such file or directory: ‘python/fitbit/requirements.txt’

                                        Any idea what I am doing wrong or what I need to do?

                                        Thanks!

                                        1 Reply Last reply Reply Quote 0
                                        • A Offline
                                          Achilles
                                          last edited by Achilles

                                          @cambor

                                          I am no expert by any means, but did your:

                                          npm install python-shell

                                          step work?

                                          C 1 Reply Last reply Reply Quote 0
                                          • C Offline
                                            cambor @Achilles
                                            last edited by

                                            @achilles Thanks for getting back to me. Yes that step worked and now I have figured out I was in the wrong directory when running sudo pip install -r python/fitbit/requirements.txt. I was trying to do that step out of sequence before following the preceding steps in the Setup instructions.

                                            I am facing another issue now though: I’ve added the example config to my config but when I try to run the MagicMirror it throws an error
                                            “Please create a config file…If you get this message while your config is already created, you config file probably contains an error…”

                                            I saw there was issues with the brackets after “config” in line 4 of the example config file and people have suggested replacing the [ with { and again on line 19 ] with } but it still doesn’t work.

                                            Now I see some people are saying there are issues with the fitbit API (https://github.com/SVendittelli/MMM-fitbit/issues/15) but those comments are from January so I’d be interested to hear about how you got yours working so recently and if you can see where I might be going wrong.

                                            Thanks a lot!

                                            bheplerB 1 Reply 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
                                            • 2 / 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