Living in Noord-Brabant it’s hard to avoid songs from Guus Meeuwis, especially “Brabant”. And I like the song. To practice my Dutch, I tried to translate “Brabant” to English. While I first made this translation a couple years ago, the lyrics seem more poignant in the middle of the pandemic and lockdowns.
Translation to English
A warm hat on my head
My collar stands up
It is ice cold here
But fortunately dry
The days here are short
The nights begin early
The people are stiff
And there is only one pub
As I walk to my hotel
After a dark day
I feel my house key
Deep in my pocket
I walk here alone
In a city too still
I have never really suffered
But the people are sleeping
The world is closing
Then I think of Brabant
Because there the lights are still on
I miss the warmth
Of a neighborhood pub
The conversation of people With a soft g
I even miss the complaining
About everything and nothing
If only those in Brabant
Were as proud as a Frisian
In the South full of sun
I live together with you
That is why I so
I recently purchased a Eufy Smart Scale. Not only does it automatically record my weight and upload it to the Eufy app, it also provides a breakdown for details like muscle mass, body fat, and more. While I enjoy having the data conveniently recorded, the charts fail to answer questions I have. Like how does my data vary over periods of more than a week? Is there a correlation between time of day and my weight, or day of the week and weight? To answer these questions and more, I wanted to get Eufy Smart Scale’s raw data off my phone and onto my computer. While these steps are specific to Eufy’s app, they can work for other android apps, too.
Getting Eufy Smart Scale’s raw data
To get the data, some special software is required. Fortunately, you do not need to root your phone to make it work. While these steps are focused on Windows, they should also work for Mac or Linux with a few changes.
First, create a folder for us to work in. We’ll say “smart_scale”.
You also need Android Backup Extractor (https://sourceforge.net/projects/adbextractor). Download and extract the archive and copy “abe.jar” in “android-backup-tookit\android-backup-extractor\android-backup-extractor-20180521-bin” to the “smart_scale” folder. Note that “20180521” may change depending on your version. Android Backup Extractor will extract the data from adb.
Enter (and remember) a password when prompted on the android device. The name ‘com.oceanwing.smarthome’ can be seen as the app name in the Google Play Store URL.
You should now have a file titled “backup.ab” in your folder containing the app data.
Extract the backup by running the following from the command line, and when prompted enter the password you just made.
java -jar abe.jar unpack backup.ab backup.tar
Note that you may need to change “20180521” depending on what version of abe you have.
“backup.tar” is now created in your “smart_scale” folder. Unpack it using your favorite file archiver (like 7-zip). You’ll see the raw data as a SQLite database at “apps\com.oceanwing.smarthome\db\EufyLifeDB.db”.
You can use many ways to access and visualize SQLite data. I used Tableau, and connected to the data using the SQLite instructions found here: https://help.tableau.com/current/pro/desktop/en-us/odbc_customize.htm. Use the table name “bodyfathistorym” in the data source pane. One thing to note is that after connecting to the database, it’s helpful to create an extract. SQLite doesn’t support many common database operations, which means Tableau won’t be able to perform certain data operations. To see my own visualization, look below or see it on Tableau Public.
And to answer one of my initial questions: it seems that my weight increases throughout the week until the weekend, when it drops, possibly because I’m working less and outside more. If I wanted to lose a couple kilos, maybe one option is to exercise more during the week.
Notable columns in Eufy Smart Scale’s raw data
The table “bodyfathistorym” contains the interesting data, and within it, some of the notable columns are as follows.
Unix time when the weighing occurred
Total weight (kg)
impedance and encryptionimpedance
Presumably used to calculate values like muscle and fat mass