Export your datas from Wiifit to the Withings scale

Did you ever want to import your old weight and measures from Wiifit to the Withings scale ?

First step : data.bin

You need to save your wiifit (or wiifit plus) game on a SD card on your wii.

You’ll then find on the SD card this file:

/private/wii/title/RFPE/data.bin

 (where RFPE is the id of the wiifit plus game, it’s probably different for wiifit legacy).

 
 
 

Second step: tachtig

To extract the data.bin, we need the tachtig tool.

Git and compiling

git clone git://git.infradead.org/users/segher/wii.git
cd wii
make

(Note on linux: you may have to emerge/apt-get libssl-dev to get needed libraries.)

Keys

tachtig needs three key in binary format: sd-key, sd-iv and md5-blanker .

Don’t run ;-), you don’t need your soldering iron or to open your wii to get the keys ! You’ll find them on this hackmii page .

Once you get the keys, we need to convert them to binary format:

# Creating hex keys
mkdir ~/.wii
cd ~/.wii
echo 'ab01xxxx' > sd-key-hex
echo '2167xxxx' > sd-iv-hex
echo '0e65xxxx' > md5-blanker-hex

# Converting to binary format
xxd -r -p sd-key-hex sd-key
xxd -r -p sd-iv-hex sd-iv
xxd -r -p md-blanker-hex md5-blanker
rm sd-key-hex sd-iv-hex md5-blanker-hex

Extracting data.bin

Copy the tachtig executable previously compiled and data.bin in a same directory and run:

./tachtig data.bin

Yay! You just got a subdirectory named like 0001000452465050 containing FitPlus0.dat (or RPHealth.dat for Wiifit legacy).

 

Third step : create a withings import file

Withings accepts csv files as input.

We need to extract the informations from FitPlus0.dat and output it in Withings format.

The script

The first extraction script has been done by kellbot for creating javascript charts.

I tweaked it a little bit to output data in a Withings understandable way using jasenprice post.

http://amaury.decre.me/scripts/wiifit2withings.py

Copy paste the above code or wget it:

wget http://amaury.decre.me/scripts/wiifit2withings.py

(Don’t forget to edit the line 19 if you use RPHealth.dat)

You must edit the following lines to match you wii username and your withings user name:

   # Link between withings balance board and wifit nickname
    if (wf_name == 'amaury'):
        pseudo = 'AMO'
    elif (wf_name == 'wiifit-name'):
        pseudo = 'withings-name'
    else:
        pseudo = wf_name

 Run it!

Now everything’s ok, you just have to run the script:

python wiifit2withings.py

And voilà, you now get your csv wiithings ready files named Wiifit_[wii name].csv

Note: Wiifit knows  your height and mass. Thoses datas will be transfered to Withings. The fat mass and fat free mass is unknown for Wiifit. You can still hack the rendered csv file to add your fat mass and fat free mass if you desire using the formula: fatfreemass = weight – fatmass .

Now, connect to your Withings account and go to « My account / My options / Import my data in CSV » and import your csv from your different scale users.

 

Dashboard

withings 1

The datas between April 2009 and August 2011 come from Wii fit plus thanks to the extraction and the script !

 

 

 

 

Thanks to those sources:
 http://jansenprice.com/blog?id=9-Extracting-Data-from-Wii-Fit-Plus-Savegame-Files
http://www.kellbot.com/2010/05/extracting-graphing-wii-fit-data/
http://blog.withings.com/en/tag/import/

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *