Read the statement by Michael Teeuw here.
Fitbit
-
This is something very MagicMirror Generic. Maybe we should add something about this in the Readme?
-
@MichMich Good idea, I’ll can add details on wiki’s modules page. Just the basic ‘cd’ then ‘git clone’. Then any extra stuff can just be listed for each module on their own repos.
-
@Vendittelli I’ll be happy to assume the role here as the guy who makes sure everything is idiot proof :D
-
@MechMatt I put a basic run through on the wiki page, feel free to adapt it to make it more new user friendly
-
@Vendittelli Thanks!
-
Would something similar be possible with Google Fit? There’s a REST API: https://developers.google.com/fit/rest/
-
This Module is driving me insane… Magic Mirror doesn’t start if I add the module script to my config.js as it is written in the example config.js. I can only get it to work by removing “Credentials: {” ,replacing the “[” from the previous line (config:[) with “{” and replacing the matching “]” with"}" . Magic Mirror will then run with the fitbit module displayed on screen with zeros for every field. It simply won’t update. I get “null” value errors and the .py script overwrites my credentials.ini file with empty spaces, I assume because of the missing “credentials” line in my config.js. I simply cannot make it work with any modification of the “credentials” line that I’ve tried. I’d really appreciate some help on this…
-
@ascension
Made some progress by replacing braces with swirly brackets. The script moves further along and my credentials.ini gets updated. Running setupAccess.py is sucessful, it brings up a fitbit page which requests authorization, but even when I approve it, tokens.ini isn’t populated, fitbit app reads all zeros, and terminal returns error " There was an uncaught exception…{ [Error: process exited with code 1] executable: ‘python’, options: null, script: ‘modules/MMM-fitbit/python/getdata.py’, args: null, exitCode: 1}. -
same problem
-
@Maldras
I’ve mostly resolved the issue. I’ve still got to work out an issue with my access token not updating, but I think that may be down to an intermittent connectivity issue. My resolution started with the knowledge that the documentation for the module is a bit lacking… there is a list of underlying dependencies, also a" requirements.txt" which one would assume would verify all requirements are satisfied. This doesn’t seem to be the case. I first clicked on the fitbit dependency listed on the fitbit module. Once I navigated to it’s Github page, I cloned it to my MM modules folder. To be sure I didn’t have an issue of broken references, etc, I checked the files in the new python folder against those in MMM - fitbit/python folder, copy/pasting those files that were missing from the 2nd folder. There is a procedure for resolving this issue which If you have the issue I had is caused by an authentication failure listed on a webpage I found. Its a good read, but not all of the listed procedures were necessary. I’m listing what I did from memory, so hopefully I get it right… first, the site: http://pdwhomeautomation.blogspot.com/2016/01/fitbit-api-access-using-oauth20-and.html?m=1. When I copy/pasted from the folder created by the newer cloned Git, I saw that some files he lists were missing. One I had to create myself. I copied the script from the linked page (the first script listed in all green), saving it to my MMM-fitbit/python folder as “runthis.py”. I ran "setupAccess’, which opened a page whose url started with https://127.0.0.1, and ended with 2 long strings separated by “code” and I think some other text. I copied the entire url. Opened “runthis.py” and filled in client Id, secret, and the first code/key from the copied url. Be aware of the syntax in the script before editing. Double quotes, etc. Once edited run this script. Unless I’ve forgotten something your should get access tokens, Which will be listed in the script results window. Copy them. Be sure to get entire auth token and refresh token. Open tokens.ini. The tokens have likely been copied there already, but if not add them, without quotes. Assuming I haven’t forgotten anything, running “getdata.py” should now be successful, listing the retrieved data assuming your fitbit has been synched - it’ll only pull data if your fitbit dashboard shows data. Somewhere in the previously listed steps, you should be directed to the fitbit page which will advise you that you are now authorized.
I’m not near my pc, and as I’ve mentioned this is all from memory. I can try to assist further if I’ve left something out…