Fenix 3 notifications while disconnected
Update: This article is outdated. The Garmin Connect Mobile app now (February 2018) requests your consent to upload your data. It is not necessary anymore to use the options below. This page is here for reference.
The companion app for the Fenix 3 is Garmin Connect Mobile. The app is needed for all smartwatch functions. It used to have an option for the user to control if they want to upload their fitness data or not, but that has been disabled. Want smartwartch functions? Only in exchange for your data!
But that changed in recent versions. The old switch is NOT back.. it will never return, according to Garmin. But these days the app no longer hangs or crashes when it is firewalled.
The best solution is with a rooted phone and an IPtables-rules-based firewall app (you can also edit the rules yourself, but an app is nice for quickly switching blockades on or off). I have used AFWall+ with Fenix 2, Fenix 3 and Epix, and it works really well.
Second-best is a VPN-based firewall for non-rooted phones – but I’ve tried quite a few, and all need close watching if they haven’t crashed and are not using up a lot of battery power.
The procedure to get it running may be a bit of a handful:
- Create a Garmin Connect account
- Register your Fenix 3 to it (this is not strictly necessary, but makes it easier to configure all settings in one session)
- Set personal parameters (weight, height, age etc)
- Set device parameters for the Fenix 3 (heart rate zones, daily step goal etc)
- Connect Fenix 3 to computer
- Make a full backup of it
- Remove contents of \GARMIN\ACTIVITY and \GARMIN\MONITOR on the Fenix 3
- Install AFWall+ on the phone
- Install Garmin Connect Mobile on the phone
- Log in with the Connect account
- Set Activity tracking to Off on the Fenix 3
- Set Bluetooth on on phone and Fenix 3
- Start Garmin Connect Mobile
- Pair Fenix 3 in the app
- Allow the app to sync to obtain the device parameters from the Connect account
- Install all the updates, watchfaces, apps, widgets and datafields that you need
- Verify that all the settings are correct in the app and on the Fenix 3
- Check again – if you change your mind, you have to re-do this entire procedure
- Configure Smart Notifications and Default Music Player in the app
- Configure AFWall+ to block Garmin Connect Mobile and choose Apply
- Verify that the Connect Mobile app displays a sync error
- Set Activity tracking to ON on the Fenix 3 if you want to use it
- In Android Play, set Automatic Updates OFF for the Connect Mobile app
- Save the .apk of this version of Connect
- Save the (beta) firmware that’s on the Fenix 3 (if you have a winning combination, at all times, SAVE all of it. Apps and firmwares change!)
- You can now replace personal profile data like height, weight etc in the Connect account with nonsense values, if you want to
- If you would want to remove the account, you’d have to contact Garmin Support – but let it exist, just in case you ever need to re-login from within in the app (obviously that needs to be done with the FW and Bluetooth off on the Fenix 3).
After this, you can continue to copy the Monitor and Activity files via USB as normal for local processing. There is a bit of an inconvenience added, the monitor files that are otherwise saved per 24 hours:
..when Bluetooth is on, they are written every 15 minutes:
You will see failed sync attempts in the mobile app every 15 minutes too, but they don’t lead to increased battery use.
I am not yet sure how many of these tiny Monitor files can be stored on the Fenix 3 (Edit: with default settings, 200 – enough for approximately 3 days)
Bluetooth-based functionality that you can now use:
- Notifications (GCM 3.11, 3.12)
- Calendar (GCM 3.11, 3.12)
- Music controls (with GCM version 3.12)
- Find my phone (GCM 3.12)
And what you can’t use:
- Fenix 3 updates (get new betas and early releases here: Garmin Fenix 3 forum and save them locally, the links are temporary, or get them from the Gawisp repository)
- Updates to EPO.BIN satellite orbit prediction information (get EPO.BIN from javawa.nl)
- Weather information (alternative: have a Tempe sensor outside within 5 meters and/or use a weather app on the phone)
- Connect IQ appstore (no alternative, although the Connect IQ development environment may offer ways)
- no LiveTrack
- empty timelines, dashboards and graphs
- no access to the device settings of the Fenix 3.
After you have switched off Bluetooth on the Fenix and switched it on again, chances are that the connection won’t work. To get that working, toggle Bluetooth off/on on the phone, if still not working, reboot the phone.
All in all, it’s not perfect.. but it’s good to have a partial workaround – have notifications, but no forced uploading of data to the cloud.
Update: You can change settings on a Fenix 3 by writing a small FIT file and placing that in \Garmin\Newfiles. The Fenix will then consume the file and store the new or changed properties in SETTINGS.FIT.
This is done for example to activate HRV recording (“enable_hrv_settings_file”).
SETTINGS.FIT contains the following fields that should control uploading and syncing:
auto_activity_upload_enabled (true or false), autosync_min_steps (number), autosync_min_time (minutes), and a property setAutoSyncFrequency (frequently, occasionally, never) also exists.
So what could be easier than writing a FIT file to change these settings, putting it on the device, checking if the settings are properly put in place (yes), then BLE on, firewall off, and using GCM without syncing!
..but the first thing that GCM does, is a lengthy sync to replace the new settings with Garmin’s settings. The owner of the device is simply not allowed to have control over the settings or the data on it.
Once you are sure that GCM will not sync anymore, you can write a custom setting for autosync_min_time to prevent getting lots of tiny files, and running into the 200 file limitation on the ACTIVITY directory. You can probably change the 200 file limit as well though, but setting autosync_min_time to, say, 1440, means you don’t have to retrieve the monitor files so often. It’s all a lot of work, and then you will have to write your own software to process the data. I think thats fun – but a simple pedometer is a much easier alternative!
Step/sleep-tracking (monitor) files contain: A step-by-step timeline of every day (and night), the serial number of the device they were recorded on, the basal metabolic rate of the owner and possibly heartrate. This information cannot be removed from the Garmin datastore once it has been uploaded.
Activity files (runs, bike rides) contain, apart from device serial number, GPS track and sensor (heartrate, bike speed) data, user profile information: weight, height, gender, age, resting heart rate, usual sleep and wake times.