Read the statement by Michael Teeuw here.
Fitbit
-
@Oliver_Tooth Well, the Wife wants her FitBit stats on the mirror so I’m going to end up using this module at some point. I’ll try and catch up to you and we’ll debug this together.
-
@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!
-
@daniel44992 I too am having this exact issue. Did you ever find a solution?
-
@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 startthe 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.pyscript, it failed to modify thecredentials.inifile. 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. -
@bhepler Please, if you spot any problems with the documentation, create a pull request on GitHub and I’ll happily make those changes.
-
@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?
-
@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!
-
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 ? -
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 STARTEDand 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.2Can anyone help me to fix the problem ?
Greetz Sandy2503
-
@s199 I also have this problem, only Steps is coming through. Did you manage to get it fixed?
-
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 $ -
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 0The 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!
-
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
-
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.
-
@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 …
-
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.
-
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
-
I got it to work! Great module!
-
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!
-
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