Freeyourgadget bloghttps://blog.freeyourgadget.org/2024-01-15T00:00:00+01:00A free and cloudless replacement for your gadget vendors' closed source Android applications.Gadgetbridge 0.78.0: Huawei/Honor device support!2024-01-15T00:00:00+01:002024-01-15T00:00:00+01:00Andreas Shimokawatag:blog.freeyourgadget.org,2024-01-15:/release-0_78_0.html<p>Gadgetbridge 0.78.0 has been tagged (waiting for F-Droid to build).</p>
<p>This time we only had one month in between releases, but it is still a big
one, since support for Huawei/Honor devices finally got merged. Many thanks
to Damien Gaignon and Martin.JM for their amazing work …</p><p>Gadgetbridge 0.78.0 has been tagged (waiting for F-Droid to build).</p>
<p>This time we only had one month in between releases, but it is still a big
one, since support for Huawei/Honor devices finally got merged. Many thanks
to Damien Gaignon and Martin.JM for their amazing work!</p>
<p>This currently covers the following Huawei/Honor devices:</p>
<ul>
<li>Honor Band 3,4,5,6</li>
<li>Honor Band 7 (experimental)</li>
<li>Huawei Band 4, 4 Pro, 6, 7, 3e, 4e</li>
<li>Huawei Talk Band B6</li>
<li>Huawei Watch GT, GT 2</li>
</ul>
<p>Gadgetbridge 0.78.0 also adds support for two new Xiaomi devices (in
addition to the many devices that were already supported since the last
release:</p>
<ul>
<li>Redmi Watch 2 Lite (experimental)</li>
<li>Redmi Smart Band Pro (experimental)</li>
</ul>
<p>And last but not least, we have two new variants of Nothing Ear headphones and
one new variant of the Mijia humidity and temperature sensors supported:</p>
<ul>
<li>Nothing Ear (2)</li>
<li>Nothing Ear (Stick)</li>
<li>Mijia LYWSD03MMC</li>
</ul>
<p>While this release concentrated on new device support, we still have some
bug fixes and improvements for already supported devices. Please check the
full changelog since the last release at the end of this blog post.</p>
<p>Thank you for your continued support and donations!</p>
<p>The Gadgetbrige Team</p>
<h3>Changelog</h3>
<h4>0.78.0</h4>
<ul>
<li>Initial support for Honor Band 3,4,5,6</li>
<li>Initial support for Huawei Band 4, 4 Pro, 6, 7, 3e, 4e</li>
<li>Initial support for Huawei Talk Band B6</li>
<li>Initial support for Huawei Watch GT, GT 2</li>
<li>Initial support for Mijia LYWSD03MMC</li>
<li>Initial support for Nothing Ear (2)</li>
<li>Initial support for Nothing Ear (Stick)</li>
<li>Experimental support for Honor Band 7</li>
<li>Experimental support for Redmi Watch 2 Lite</li>
<li>Experimental support for Redmi Smart Band Pro</li>
<li>Casio GBX100: Add support for snooze alarm</li>
<li>Fossil/Skagen Hybrids: Update navigationApp to 1.1</li>
<li>Huami: Fetch SpO2 on devices that support it</li>
<li>Pebble: Attempt to fix app configuration webview</li>
<li>PineTime: Add support for InfiniTime's new simple weather</li>
<li>PineTime: Fix freeze and reboot when upgrading firmware</li>
<li>Pixoo: Enable sending images (non-persistent)</li>
<li>Pixoo: Get and send alarms</li>
<li>Pixoo: Set custom device name</li>
<li>Pixoo: support "clap hands to turn off screen" and "sleep after silence" settings</li>
<li>Xiaomi: Improve activity and workout parsing</li>
<li>Xiaomi: Improve stability and fix some crashes</li>
<li>Xiaomi: Improve weather</li>
<li>Xiaomi: Parse sleep stages</li>
<li>Add a notifications channel for connection status notifications</li>
<li>Improve automatic connection to all or previous devices</li>
<li>Fix devices sometimes staying stuck in a "Connecting" state</li>
<li>Map some missing Google Maps navigation actions</li>
</ul>gadgetbridge.org website relaunch2023-12-23T00:00:00+01:002023-12-23T00:00:00+01:00Andreas Shimokawatag:blog.freeyourgadget.org,2023-12-23:/gadgetbridge-website-relaunch.html<p>We are very excited to announce our completely revamped website!</p>
<p>For a long time gadgetbridge.org was just generated from the README.md in
our main Gadgetbridge repository. That was all.</p>
<p>Real documentation was only found in our wiki, which was not exactly easy to
navigate or pretty. In addition …</p><p>We are very excited to announce our completely revamped website!</p>
<p>For a long time gadgetbridge.org was just generated from the README.md in
our main Gadgetbridge repository. That was all.</p>
<p>Real documentation was only found in our wiki, which was not exactly easy to
navigate or pretty. In addition it was tedious for outside contributors to
change the contents of the wiki because it was just not editable for
everyone.</p>
<p>This all changed now, thanks to Yusuf Cihan, please <a href="https://gadgetbridge.org">check it out!</a></p>
<p>Yusuf has opened an <a href="https://codeberg.org/Freeyourgadget/Gadgetbridge/issues/3285">Issue</a>
three months ago, describing the current situation, the shortcomings, and a
proposal to use mkdoks to generate a static site, which should be maintained
in a new git repo, which is not a wiki and therefore supports pull requests.</p>
<p>He also implemented the proposal while constantly listening to feedback and
really make it something, which in the end not only looks really great, but
also is much more usable and maintainable.</p>
<p>Finally our DNS records were updated, and gadgetbrige.org is now served
though codeberg pages, which is continuously generated though Codeberg's CI.</p>
<p>Thanks to everyone who gave feedback during these three months, and thanks
again to Yusuf for pulling this off :)</p>
<p>Your Gadgetbridge Team</p>Gadgetbridge 0.77.0: Biggest. Release. Ever. Merry Christmas2023-12-17T00:00:00+01:002023-12-17T00:00:00+01:00Andreas Shimokawatag:blog.freeyourgadget.org,2023-12-17:/release-0_77_0.html<p>Gadgetbridge 0.77.0 has been tagged (waiting for F-Droid to build), it marks
the biggest release ever, in terms of changes and new device support.</p>
<p>Okay, that sounds great, but, honestly part of the reason is that we never had
such a long time between releases. :)</p>
<p>First the list …</p><p>Gadgetbridge 0.77.0 has been tagged (waiting for F-Droid to build), it marks
the biggest release ever, in terms of changes and new device support.</p>
<p>Okay, that sounds great, but, honestly part of the reason is that we never had
such a long time between releases. :)</p>
<p>First the list of new devices supported:</p>
<ul>
<li>Amazfit: Balance, Active, Active edge (experimental)</li>
<li>FitPro: ColaCao 2021, ColaCao 2023</li>
<li>Sony Wena 3 (A watch band with an integrated smartwatch)</li>
<li>Femometer Vinca II (fertility thermometer)</li>
<li>Mijia LYWSD02MMC variant (epaper clock/thermometer/hygrometer)</li>
<li>Sony WF-1000XM5 (headphone, experimental)</li>
<li>Divoom Pixoo (LED Matrix, experimental)</li>
<li>Xiaomi Devices (experimental, see next paragraph)</li>
</ul>
<p>Xiaomi? But we had already Xiaomi Mi Band support? Yes, thanks true but it
seems that Huami(Amazfit) and Xiaomi which shared a common protocol since the
Mi Band 2/Amazfit Bip time parted ways. While the Xiaomi Smart Band ("Mi Band")
series continued to be Huami devices, there were some confusing devices like
the "Mi Band 4C" which were incompatible with the regular Mi Band/Huami
protocol. Also Xiaomi branded smart watches were never compatible with the
protocol we observed with Huami/Amazfit devices. Gadgetbridge never supported
those device. Until... now.</p>
<p>When the latest Mi Band 8 was released as the first mainstream Mi Band which
uses the new protocol, we realized that it is really time to finally tackle
that. Our journey opened the door for a lot of new devices, of which a few are
supported now - although in an experimental state. So your millage may vary.
The first round of seven devices we were able to get working are: Mi Band 7
Pro, Mi Band 8, Mi Watch Lite, Mi Watch Color Sport, Remi Smart Band 2, Redmi
Watch 3 Active, Xiaomi Watch S1 Active. More will follow.</p>
<p>Another exciting class of devices are the Divoom devices. Right now we only
support the Pixoo, but support for others should be doable. Those devices are
RGB (16x16 pixel or more) matrices which can display animations, static images,
weather and notifications. Gadgetbridge support is incomplete, right now only
setting the time and date, weather conditions and displaying the
firmware-included notification icons works. Support for more features will come
in the near future.</p>
<p>As usual there are also a ton of new features and fixes for existing devices in
the ChangeLog. One thing we would like to highlight (because it is just so
cool) is support for fullscreen graphical OsmAnd navigation notifications on
the Fossil/Skagen Hybrid HR. This is something the official app cannot do, and
which we archived by creating our own on-device watch app which in bundled with
Gadgetbridge and can be installed though the App manager. Sometimes
Gadgetbridge not only protects your privacy, it enables you do do <em>more</em>.</p>
<p>For a complete list, as always, please refer the the Changelog, which list
all user facing changes since the last release</p>
<p>Thank you for your continuous support, and we hope you will like Gadgetbridge
0.77.0!</p>
<p>Merry Christmas, and a happy new year from the Gadgebridge team :)</p>
<h3>Changelog</h3>
<h4>0.77.0</h4>
<ul>
<li>Initial support for Amazfit Balance</li>
<li>Initial support for Amazfit Active</li>
<li>Initial support for ColaCao 2021</li>
<li>Initial support for ColaCao 2023</li>
<li>Initial support for Femometer Vinca II</li>
<li>Initial support for Mijia LYWSD02MMC variant</li>
<li>Initial support for Sony Wena 3</li>
<li>Experimental support for Divoom Pixoo</li>
<li>Experimental support for Sony WF-1000XM5</li>
<li>Experimental support for Amazfit Active Edge</li>
<li>Experimental support for Mi Band 7 Pro (Xiaomi Smart Band 7 Pro)</li>
<li>Experimental support for Mi Band 8 (Xiaomi Smart Band 8)</li>
<li>Experimental support for Mi Watch Lite</li>
<li>Experimental support for Mi Watch Color Sport</li>
<li>Experimental support for Redmi Smart Band 2</li>
<li>Experimental support for Redmi Watch 3 Active</li>
<li>Experimental support for Xiaomi Watch S1 Active</li>
<li>Amazfit Band 7: Add alexa menu entries</li>
<li>Amazfit GTR 3 Pro: Fix firmware and watchface upload</li>
<li>Amazfit T-Rex: Fix activity summary parsing</li>
<li>Amazfit T-Rex Pro: Add activate display on lift sensitivity</li>
<li>AsteroidOS: Add more supported watch models</li>
<li>AsteroidOS: Fix media info</li>
<li>AsteroidOS: Fix notification dismissal</li>
<li>Bangle.js: Add loyalty cards integration with Catima</li>
<li>Bangle.js: Ensure SMS messages have src field set to "SMS Message"</li>
<li>Bangle.js: Fix GPS speed</li>
<li>Bangle.js: Improve handling of chinese characters</li>
<li>Bangle.js: Lower threshold for low battery warning</li>
<li>Bangle.js: Recover from device initialization failure</li>
<li>Casio GBX100/GBD-200: Fix first connect</li>
<li>Casio GB5600/6900/STB-1000: Fix pairing</li>
<li>Casio GDB-200: Fix notification timestamp</li>
<li>Casio GDB-200: Fixed notification categories and default category</li>
<li>Casio GDB-200: Allow preview of notification message alongside title</li>
<li>Casio GDB-200: Fixed find my phone feature</li>
<li>Intent API: Add debug action for test new function</li>
<li>Fossil/Skagen Hybrids: Add new navigation app</li>
<li>Fossil/Skagen Hybrids: Allow configuring call rejection method</li>
<li>Fossil/Skagen Hybrids: Fix some preference crashes on the nightly</li>
<li>Fossil/Skagen Hybrids: Reduce toasts on release builds</li>
<li>Fossil/Skagen Hybrids: Show device specific settings in more logical order</li>
<li>Huami: Toggle phone silent mode from band</li>
<li>Message privacy: Add mode Hide only body</li>
<li>Mijia LYWSD02: Add battery</li>
<li>Mijia LYWSD02: Add low battery notification</li>
<li>Mijia LYWSD02: Set temperature unit</li>
<li>Mijia LYWSD02: Fix battery drain while connected</li>
<li>PineTime: Display app name for VoIP app calls</li>
<li>PineTime: Honor Sync time setting on connect</li>
<li>PineTime: Improve notification handling</li>
<li>PineTime: Reduce weather memory usage</li>
<li>Withings Steel HR: Fix crash when calibrating hands on the nightly</li>
<li>Zepp OS: Add blood oxygen graph</li>
<li>Zepp OS: Add workout codes for hiking and outdoor swimming</li>
<li>Zepp OS: Allow disabling app notifications per device</li>
<li>Zepp OS: Attempt to fix activity fetch operation getting stuck</li>
<li>Zepp OS: Display swimming activity data</li>
<li>Zepp OS: Fix health settings on older Zepp OS versions</li>
<li>Zepp OS: Fix setting of unknown button press apps</li>
<li>Zepp OS: Fix sunrise and moon dates being off by local time + UTC offset</li>
<li>Zepp OS: Map hiking, outdoor swimming, climbing and table tennis activity types</li>
<li>Zepp OS: Toggle phone silent mode from band</li>
<li>Add transliteration for Latvian, Hungarian, Common Symbols</li>
<li>Allow multiple device actions to be triggered for the same event</li>
<li>Allow toggling DND through device actions</li>
<li>Autodetect OsmAnd package name and make it configurable</li>
<li>Improve ASCII transliterator</li>
<li>Make GMaps navigation handler follow the "navigation forwarding" setting</li>
<li>Support selecting enabled navigation apps</li>
<li>Allow ignore notifications from work profile apps</li>
<li>Display alias in low battery notification</li>
<li>Fix crash when pairing current device as companion</li>
<li>Fix emoji when a transliterator is enabled</li>
<li>Fix UV Index and rain probability for some weather apps</li>
<li>Improve device discovery stability and fix freezes</li>
<li>Improve Telegram and COL Reminder notifications</li>
<li>Replace old-style preference switch with Material 3 switch</li>
</ul>Gadgetbridge 0.76.0/0.76.1: Material 3, and a lot of new devices supported2023-09-27T00:00:00+02:002023-09-27T00:00:00+02:00Andreas Shimokawatag:blog.freeyourgadget.org,2023-09-27:/release-0_76_1.html<p>Almost two month between major releases, but the wait is over, and
Gadgetbridge 0.76.0 (and 0.76.1 which mostly fixes regression) has been
released!</p>
<p>This time we did not only add support for new Amazfit devices (Bip 3 Pro,
Bip 5, Cheetah, Cheetah Pro, Bip 5, Falcon …</p><p>Almost two month between major releases, but the wait is over, and
Gadgetbridge 0.76.0 (and 0.76.1 which mostly fixes regression) has been
released!</p>
<p>This time we did not only add support for new Amazfit devices (Bip 3 Pro,
Bip 5, Cheetah, Cheetah Pro, Bip 5, Falcon, GTR Mini, T-Rex Ultra) and a new
Casio watch (GW-B5600), but also multiple completely new devices from previously
unsupported manufacturers:</p>
<ul>
<li>Bohemic Smart Bracelet</li>
<li>Garmin Vivomove HR</li>
<li>Withings Steel HR</li>
</ul>
<p>You might also notice that we switched the UI to Material 3, which also adds
support for dynamic color themes. We hope you like the new fresh look of
Gadgetbridge.</p>
<p>Another cool addition is Catima support! Gadgetbridge can now communicate
with Catima and send Loyalty card straight to Zepp OS devices (Bangle.js support
will be in the next release).
This feature was created in collaboration wit Sylvia from Catima! If you haven't
yet, please check out Catima from F-Droid. </p>
<p>The well-supported Huami/Zepp OS devices received a lot of bug fixes, and as a
notable new feature, charts for PAI.</p>
<p>But it is not only Huami, Bangle.js, Inifitime, Fossil/Skagen, Sony
Headphones and LeFun device also received fixes and improvements.</p>
<p>For a complete list, as always, please refer the the Changelog, which list
all user facing changes since the last release</p>
<p>Thank you for your continuous support, and we hope you will like Gadgetbridge
0.76!</p>
<h3>Changelog</h3>
<h4>0.76.1</h4>
<ul>
<li>Amazfit GTR Mini: Mark as not experimental</li>
<li>Bangle.js: Improve file downloads</li>
<li>Bangle.js: Fix app interfaces</li>
<li>Allow text to be shared to devices</li>
<li>Fix connection to some Amazfit devices </li>
</ul>
<h4>0.76.0</h4>
<ul>
<li>Upgrade UI to Material 3 and add dynamic colors theme</li>
<li>Initial support for Amazfit Bip 3 Pro</li>
<li>Initial support for Amazfit Cheetah Pro</li>
<li>Initial support for Bohemic Smart Bracelet</li>
<li>Initial support for Casio GW-B5600</li>
<li>Initial support for Garmin Vivomove HR</li>
<li>Initial support for Withings Steel HR</li>
<li>Experimental support for Amazfit Bip 5</li>
<li>Experimental support for Amazfit Falcon</li>
<li>Experimental support for Amazfit GTR Mini</li>
<li>Experimental support for Amazfit Cheetah (Round/Square)</li>
<li>Experimental support for Amazfit T-Rex Ultra</li>
<li>Amazfit GTS 2e: Add activate display on lift sensitivity</li>
<li>Amazfit GTR 3 / GTS 3: Enable AGPS Updates</li>
<li>Amazfit Neo: Enable PAI support</li>
<li>Bangle.js: Allow enable/disable of alarms</li>
<li>Bangle.js: Fetch activity data</li>
<li>Bangle.js: Fix GB integration when watch is not programmable</li>
<li>Bangle.js: Put JSON keys in quotes</li>
<li>Bangle.js: Reorganize device settings</li>
<li>Fossil/Skagen Hybrids: Embed custom menu in watchface, fixes lost menu on reset</li>
<li>Fossil/Skagen Hybrids: Fix unused alarms being pushed to the device</li>
<li>Fossil/Skagen Hybrids: Strip unicode characters that the watch can't display</li>
<li>Fossil/Skagen Hybrids: Sunrise/sunset follows weather location</li>
<li>Huami/Zepp OS: Add PAI charts</li>
<li>Huami/Zepp OS: Improve music info stability</li>
<li>Huami/Zepp OS: Improve reconnection and device initialization</li>
<li>Huami: Persist workout raw details even if gpx has no points</li>
<li>InfiniTime: Add heart rate measurement support</li>
<li>Mi Band 5: Fix activity fetch error toast when stress monitoring is enabled</li>
<li>Mi Band 6: Enable PAI and stress support</li>
<li>LeFun: Fix heart rate popup when measurement is triggered from phone</li>
<li>Sony WH-1000XM3/WF-SP800N: Add volume setting</li>
<li>Sony WH-1000XM5: Fix speak-to-chat enable/disable</li>
<li>Zepp OS: Add loyalty cards integration with Catima</li>
<li>Zepp OS: Enable AGPS updates for all devices</li>
<li>Zepp OS: Fix calendar sync on Zepp OS 2, send event location</li>
<li>Zepp OS: Fix reminder creation</li>
<li>Zepp OS: Fix shortcut cards setting on Zepp OS 2.1</li>
<li>Zepp OS: Fix weather, add hourly information</li>
<li>Zepp OS: Map barcode types for ITF, PDF_417 and DATA_MATRIX</li>
<li>Add preference to display changelog on startup</li>
<li>Add Termux RUN_COMMAND permission</li>
<li>Allow filtering notifications from work profile apps</li>
<li>Fix daylight saving time not being transmitted to the watch</li>
<li>Fix media button control for some applications</li>
<li>Fix notification filters by title if notification does not contain a body</li>
<li>Fix opening screenshots from notification on external apps</li>
<li>Fix reconnect delay reset after all devices are initialized</li>
<li>Fix some security error crashes when permissions are not granted</li>
<li>Fix transliteration of emoji</li>
<li>Fix transliteration of non-ASCII accented characters</li>
<li>Force gps speed calculation on some phones that do not report it correctly</li>
<li>Make application list sorting case-insensitive</li>
<li>Introduce native app shortcuts for android > 30</li>
<li>Update device settings action bar title depending on current screen</li>
</ul>Gadgetbridge 0.75.0: Native OsmAnd support2023-07-05T00:00:00+02:002023-07-05T00:00:00+02:00Andreas Shimokawatag:blog.freeyourgadget.org,2023-07-05:/release-0_75_0.html<p>Again after more than 1.5 month, a new Gadgetbridge release finally is ready!
The F-Droid black box is still black though. :P</p>
<p>Traditionally we bump the release by a non-point release when support for a new
device gets added or a big new code feature gets added, this time …</p><p>Again after more than 1.5 month, a new Gadgetbridge release finally is ready!
The F-Droid black box is still black though. :P</p>
<p>Traditionally we bump the release by a non-point release when support for a new
device gets added or a big new code feature gets added, this time the latter is
the case! We finally merged native OsmAnd support, a branch was started by
me nearly two years ago but only recently picked up and fixed by José.
PineTime/InfiniTime and bangle.js are the first watches that add support for
making use of navigation instructions passed to devices by Gadgetbridge.
There could be potential support for Pebble and Fossil/Skagen HR via watchapps
in the future.</p>
<p>Of course, Gadgetbridge 0.75 also includes the usual fixes and improvements.</p>
<p>On the Bangje.js front, Gordon and contributors contributed a lot of small but
important fixes (see Changelog), for the Fossil/Skagen HR, Arjan mainly improved
weather support to potentially show UV index and chance of rain (given weather
apps provide this info to Gadgetbridge.</p>
<p>ZeppOS support, mainly maintained by José also saw a lot of improvements. Much
more than we can write about, again, please see the Changelog below, also to
know about other generic changes and improvements not mentioned here.</p>
<p>Thank you for your continuous support, and we hope you will like Gadgetbridge
0.75!</p>
<p>This blog post was written by a human :)</p>
<p>Andreas</p>
<h3>Changelog</h3>
<h4>0.75.0</h4>
<ul>
<li>Bangle.js: Add message size limitation to Calendar and Messages</li>
<li>Bangle.js: Add switch to control if the GPS chip should be used to locate the location</li>
<li>Bangle.js: Send more weather data to watch</li>
<li>Bangle.js: Allow an activity sample to have a timestamp</li>
<li>Bangle.js: Send last received activity timestamp on connect (to allow sync of activity samples)</li>
<li>Bangle.js: Allow connecting HW keyboard without closing app loader</li>
<li>Bangle.js: Bump flavor target SDK version to 31</li>
<li>Bangle.js: Fix convertion of emoji/unicode to bitmap without width/height</li>
<li>Bangle.js: Fix location listener not being cleaned up when waiting for reconnect</li>
<li>Bangle.js: Fix memory leak from HTTP requests</li>
<li>Bangle.js: Fix orientation changes closing app loader</li>
<li>Bangle.js: Fix return to applications management activity after having opened another window</li>
<li>Bangle.js: Set default value for GPS event interval to 1 second</li>
<li>Bangle.js: Support navigation instructions</li>
<li>Bangle.js: Escape characters that fall in the Unicode codepoint area (for Espruino ~2v18.20 and later)</li>
<li>Bangle.js: HTTP request XPath can now return Arrays</li>
<li>Fossil/Skagen Hybrids: Add support for ultraviolet index and rain probability</li>
<li>Fossil/Skagen Hybrids: Add UV index and chance of rain widgets</li>
<li>Fossil/Skagen Hybrids: Allow launching the calibration activity on any Gadgetbridge variant</li>
<li>Fossil/Skagen Hybrids: Increase accuracy of workout distance calculation</li>
<li>Fossil/Skagen Hybrids: Fix weather icons day/night status</li>
<li>InfiniTime: Fix weather expiry time</li>
<li>InfiniTime: Support navigation instructions</li>
<li>Mi Band 6: Allow making device discoverable via Bluetooth when connected</li>
<li>Mi Band 7: Add preference to display call contact information</li>
<li>Zepp OS: Add gpx route file upload</li>
<li>Zepp OS: Add screenshot support</li>
<li>Zepp OS: Add stress charts</li>
<li>Zepp OS: Add watch app logs developer option</li>
<li>Zepp OS: Display watchface and app preview on install</li>
<li>Zepp OS: Fix update operations on Zepp OS 2.1+</li>
<li>Zepp OS: Manage contacts on watch</li>
<li>Zepp OS: Start new GPX segments on pause/resume</li>
<li>Zepp OS: Support flashing zab files</li>
<li>App Manager: Fix cached apps sorting</li>
<li>App Manager: Hide drag handle if app reorder is not supported</li>
<li>App Manager: Add confirmation before deleting app</li>
<li>Add menus to share GPX, raw summary, raw details</li>
<li>Debug Activity: Allow pairing current device as companion</li>
<li>Fix some null pointer exception crashes</li>
<li>Intent API: Add command to set device mac address</li>
<li>Intent API: Add dataTypes parameter for activity sync</li>
<li>Intent API: Add debug actions for notifications and incoming calls</li>
<li>OsmAnd: Add support for navigation instructions</li>
<li>Scrape navigation instructions from Google Maps notifications</li>
<li>Fix lag when a folder has a lot of devices</li>
<li>Fix transliteration returning non-ASCII characters</li>
<li>Enable "allow high MTU" setting by default</li>
<li>Make some hardcoded english strings translatable</li>
</ul>Gadgetbridge 0.74.0: Amazfit GTR 3 Pro, Sony WH-1000XM5, and a lot of improvements!2023-05-10T00:00:00+02:002023-05-10T00:00:00+02:00Andreas Shimokawatag:blog.freeyourgadget.org,2023-05-10:/release-0_74_0.html<p>After more than 1.5 month, finally a new Gadgetbridge release is ready!</p>
<p>On the new device front we have support for one new Huami device, the Amazfit
GTR 3 Pro and another Sony Headphone, the WH-1000XM5.</p>
<p>Mostly contributed by José, who also did the Sony WH-1000XM5 support, we have …</p><p>After more than 1.5 month, finally a new Gadgetbridge release is ready!</p>
<p>On the new device front we have support for one new Huami device, the Amazfit
GTR 3 Pro and another Sony Headphone, the WH-1000XM5.</p>
<p>Mostly contributed by José, who also did the Sony WH-1000XM5 support, we have
tons of new features and improvements for various Zepp OS based devices (the
newer Huami devices). For example The GTR4/GTS4 devices can now do bluetooth
based phone calls though the watch. There is just too much new stuff, so please
just read the ChangeLog at the end of this blog post.</p>
<p>For the Fossil/Skagen Hybrids, Arjan finally solved a long standing issue,
where the watch asked for a confirmation on every single connection attempt. If
you transferred your secret pairing key from one phone to another, this one
likely annoyed you - but no longer :)</p>
<p>Arjan also contributed the big new feature for Gadgetbridge 0.74.0: Cached
notification. This feature will allow you to get "old" notifications delivered
when you come back into range of your phone, after you walked out of range
and missed a notification. This feature is still considered experimental, so
it need needs to be enabled explicitly.</p>
<p>For other changes please consult the following ChangeLog. Since we did not
have a blog post for 0.73.0 make sure to also read it's impressive ChangeLog
:)</p>
<h3>Changelog</h3>
<h4>0.74.0</h4>
<ul>
<li>Initial support for Amazfit GTR 3 Pro</li>
<li>Initial support for Sony WH-1000XM5</li>
<li>Amazfit Bip U: Remove alarm snooze option</li>
<li>Amazfit GTR 4 / GTS 4: Add watch Wi-Fi Hotspot and FTP Server</li>
<li>Amazfit GTR 4 / GTS 4: Perform and receive phone calls on watch</li>
<li>Amazfit GTS 2 Mini: Add missing alexa menu item</li>
<li>Bangle.js: Fix updating timezone in settings.json if the timezone is zero</li>
<li>Fossil/Skagen Hybrids: Pair watch to phone, fixes repeating confirmation request</li>
<li>Huami: Implement repeated activity fetching</li>
<li>Sony WH-1000XM4: Add speak-to-chat</li>
<li>Sony Headphones: Add button modes help</li>
<li>Zepp OS: Add shortcut cards preference</li>
<li>Zepp OS: Add support for morning updates</li>
<li>Zepp OS: Add preference to keep screen on during workout</li>
<li>Zepp OS: Add preference for camera remote</li>
<li>Zepp OS: Fix activate display upon lift wrist smart mode</li>
<li>Zepp OS: Fix Cards and MI AI display item and shortcuts</li>
<li>Zepp OS: Fix setting of control center</li>
<li>Zepp OS: Fix setting of unknown configuration values</li>
<li>Zepp OS: Set watchface from phone</li>
<li>Add Croatian transliterator</li>
<li>Fix restoring app notification/pebble blacklist preferences on import</li>
<li>Cache notifications while devices are out of range (opt-in)</li>
</ul>
<h4>0.73.0</h4>
<ul>
<li>Initial support for Amazfit T-Rex 2</li>
<li>Initial support for AsteroidOS watches</li>
<li>Initial support for Sony LinkBuds S</li>
<li>Initial support for Galaxy Buds2 Pro</li>
<li>Initial support for SoFlow S06(just for lock and unlock, needs key)</li>
<li>Fossil/Skagen Hybrids: Fix truncation of notifications</li>
<li>Fossil/Skagen Hybrids: Fix washed out colors in imported watchfaces</li>
<li>Fossil/Skagen Hybrids: Allow launching watch apps from app manager</li>
<li>Fossil/Skagen Hybrids: Fix activity parser</li>
<li>Fossil/Skagen Hybrids: Add app/watchface downloading from watch to app manager</li>
<li>Fossil/Skagen Hybrids: Fix crash on empty or multi-byte unicode alarm texts</li>
<li>Fossil/Skagen Hybrids: Implement inactivity warnings</li>
<li>Fossil/Skagen Hybrids: Remove obsolete debug message</li>
<li>Mi Band 6: Add NFC display item</li>
<li>Zepp OS: Fix Alipay and WeChat Pay display item and shortcuts</li>
<li>Amazfit GTR 4/GTS 4: Support for AGPS Updates</li>
<li>Bangle.js: Stop sending bitmaps for common characters that already have good enough equivalents on the watch</li>
<li>Bangle.js: Stop toast warning message appearing when starting the app loader</li>
<li>Bangle.js: Increase default realtime HRM/step interval to 10 seconds</li>
<li>Bangle.js: Support additional values for GPS event</li>
<li>Sony WF-1000XM4: Fix battery updates while connected</li>
<li>Sony WF-1000XM4: Fix audio codec</li>
<li>Add Georgian Transliteration</li>
</ul>Gadgetbridge 0.72.0: Lot of new devices and rewritten device discovery2022-12-23T00:00:00+01:002022-12-23T00:00:00+01:00ChatGPTtag:blog.freeyourgadget.org,2022-12-23:/release-0_72_0.html<p>It took unusually long to get this out, but we tried to make it before
Christmas, so here it is: Gadgetbridge 0.72.0</p>
<p>And since it is already out on F-Droid, todays blog post will be written by
ChatGPT to save time. :O</p>
<h3>Q: Can you please write a …</h3><p>It took unusually long to get this out, but we tried to make it before
Christmas, so here it is: Gadgetbridge 0.72.0</p>
<p>And since it is already out on F-Droid, todays blog post will be written by
ChatGPT to save time. :O</p>
<h3>Q: Can you please write a blog post about a gadgetbridge release? Here is the Changelog...</h3>
<p>Gadgetbridge is a free, open-source application that allows users to communicate with and manage their wearable devices. The latest release, version 0.72.0, brings a host of new features and improvements to the application.</p>
<p>One of the major highlights of this release is the initial support for a number of new devices, including the Amazfit GTR 4/GTS 4/GTS 4 Mini, Amazfit Band 7, Samsung Galaxy Buds 2, and Sony WH-1000XM2/WF-1000XM4 headphones. This means that users of these devices can now take advantage of Gadgetbridge's features and functionality to manage their wearables.</p>
<p>In addition to supporting new devices, Gadgetbridge 0.72.0 also includes a number of improvements to existing device support. For example, the application now includes a fix for pause when taken off for Sony headphones, and a fix for setting surround mode. There are also a number of improvements to Zepp OS support, including the addition of world clocks and fixes for notification icons, app and watchface installs, and weather data.</p>
<p>Other notable changes in this release include a complete rewrite of the new device discovery process, the addition of an Intent API to trigger activity sync and database exports, and the ability to allow media notifications to bypass the app list. There is also a Debug Activity feature that includes a confirmation dialog before removing device preferences.</p>
<p>Overall, Gadgetbridge 0.72.0 is a solid release that brings a number of new features and improvements to the application. If you're a Gadgetbridge user, be sure to update to the latest version to take advantage of these new features and enhancements.</p>
<hr>
<p>Phew, this was ChatGPT. Completely as is, un-edited.
Too bad it is not open source, we promise this will be hand-written again
next time. We do not intent to make this an advertisement for ChatGPT, but
maybe it is interesting too see how capable this is, and that it actually
knows what Gadgetbridge is.</p>
<p>For all user-facing changes of this release, check the following list:</p>
<h3>Changelog</h3>
<h4>0.72.0</h4>
<ul>
<li>Initial support for Amazfit GTR 4/GTS 4/GTS 4 Mini</li>
<li>Initial support for Amazfit Band 7</li>
<li>Initial support for Galaxy Buds 2</li>
<li>Initial Support for Sony WH-1000XM2/WF-1000XM4</li>
<li>Sony headphones: Fix pause when taken off</li>
<li>Sony Headphones: Fix setting surround mode</li>
<li>Zepp OS: Map strength training, basketball and cricket activity types</li>
<li>Zepp OS: Add World Clocks</li>
<li>Zepp OS: Fix notification icons larger than 56x56px</li>
<li>Zepp OS: Fix notification icons for work profile apps</li>
<li>Zepp OS: Fix notification icon for SMS</li>
<li>Zepp OS: Fix app and watchface install</li>
<li>Zepp OS: Fix NPE when no weather data is available</li>
<li>Amazfit GTR 2: Fix activate display upon lift only working when scheduled</li>
<li>Bangle.js: Fix calendar sync</li>
<li>InfiniTime: Fix weather</li>
<li>InfiniTime: Add support for local time service</li>
<li>InfiniTime: Add world clock support</li>
<li>Skagen Gen 6 Hybrid HR: Add support for 38mm watches</li>
<li>Complete rewrite of new device discovery</li>
<li>Add Intent API to trigger activity sync and DB export</li>
<li>Allow media notifications to bypass app list</li>
<li>Debug Activity: Add confirmation dialog before removing device preferences</li>
</ul>Gadgetbridge 0.71.x: Initial support for Amazfit GTR 3 and SuperCars (Shell Racing Cars)2022-10-22T00:00:00+02:002022-10-22T00:00:00+02:00Andreas Shimokawatag:blog.freeyourgadget.org,2022-10-22:/release-0_71_3.html<p>After some delays and fine-tuning of the release, next version of Gadgetbridge
is now out with whole lot of changes. Interestingly, it is not 0.71 but already
0.71.3 as of the writing of this blog post.</p>
<h1>Initial support for Amazfit GTR 3 and SuperCars (Shell Racing Cars …</h1><p>After some delays and fine-tuning of the release, next version of Gadgetbridge
is now out with whole lot of changes. Interestingly, it is not 0.71 but already
0.71.3 as of the writing of this blog post.</p>
<h1>Initial support for Amazfit GTR 3 and SuperCars (Shell Racing Cars)</h1>
<p>Initial support for Amazfit GTR 3 was added, which is very similar to GTS 3,
and Mi Band 7 see the <a href="https://codeberg.org/Freeyourgadget/Gadgetbridge/wiki/Amazfit-GTR-3">wiki page
here</a> for
more information.</p>
<p>@vanous has added support for an entirely new class of devices - a Bluetooth
remote controlled car models! If you own a Shell Racing Car, please give it a
try ;)</p>
<h1>Bye-bye Android 4.4 (KitKat)</h1>
<p>Like we announced in our <a href="https://blog.freeyourgadget.org/release-0_70_0.html">last blog
post</a>, Android 5.0 is now
the minimum requirement for Gadgetbridge. This allowed us to clean up some code
and ugly workarounds. Even the F-Droid client no longer supports Android 4.4,
and we were not aware of users who are still on KitKat. Time to move on!</p>
<h1>Bye-bye NDK!</h1>
<p>@ashimokawa has ported the ECDH C library to pure java, a very
straight-forward and simple port, basically fighting with the absence of
pointers and unsigned integers was the only real work to do.</p>
<p>No NDK means faster build times and less build dependencies - also for our
CI. Last but not least it also makes reproducible builds easier - we are
probably already (almost?) there.</p>
<h1>Device support improvements</h1>
<p>@joserebelo continued with his quest to implement first class
support for Zepp OS based devices (MiBand 7, Amazfit GTR 3, GTS
3...) with their activities, sleep and workouts fetching, firmware
updates and more.</p>
<p>The Bangle.js team has been improving the Bangle.js device support
and capabilities and added the ability to start services via
intents, or to wake and unlock the Android device.</p>
<p>Huami devices (MiBands and Amazfits) can now choose whether device preferences
as set in Gadgetbridge should be sent to the device on start of each connection
which until now has been the case. This new setting can allow to have a watch
or a band be configured in the original vendor's app and then connect it to
Gadgetbridge, without overwriting settings in the device during the connection.
Many other improvements have been added - like improved "Find device", which is
now not dependent on the "Do not disturb" setting.</p>
<p>Fossil HR, InfiniTime, Flipper Zero, Mi Band 6... have also gained several
improvements, see change log below. Many thanks to @arjan5, @Ganblejs,
@dakhnod, @gfwilliams and others for all the contributions!</p>
<h1>General app improvements</h1>
<p>We have fixed several crashes. One, when opening Gadgetbridge from the
notifications and another crash on some older Android versions. </p>
<p>More automation is now possible thanks to new Intents which allow to set device
settings or can send information about a device being connected/disconnected.
See a dedicated <a href="https://codeberg.org/Freeyourgadget/Gadgetbridge/wiki/Intent-API">Wiki page for the Intent
API</a>.</p>
<p>These have been just the highlights, see more details below.</p>
<p><strong>Many thanks to everyone for their contributions and support!</strong></p>
<p>For all user-facing changes of this release, check the following list:</p>
<h3>Changelog</h3>
<h3>0.71.3</h3>
<ul>
<li>Fossil/Skagen Hybrids: Update known watch app versions</li>
<li>Skagen Hybrids: Allow firmware installation</li>
<li>Fossil Hybrid HR: Request menu config upon app connection</li>
<li>Amazfit GTS3: Fix crash when fetching workouts</li>
<li>Zepp OS: Fix fetching workouts shorter than 1 minute</li>
<li>Zepp OS: Decode workout elevation and altitude</li>
<li>Huami: Do not crash when failing to parse activity summary</li>
<li>Re-connect after update, especially useful for users of nightly releases</li>
<li>Make number of not scrollable sleep sessions lines configurable</li>
</ul>
<h3>0.71.2</h3>
<ul>
<li>Zepp OS: Display HR zones and Training Effect in Activity Details</li>
<li>Remove shortcut feature due to non-free dependencies (#2918)</li>
</ul>
<h3>0.71.1</h3>
<ul>
<li>Try to exclude non-free stuff from shortcuts library (#2918)</li>
<li>SuperCars: fix periodicDataSender, add tricks</li>
<li>Zepp OS: Fix crash when user attempts to disable Settings display item</li>
<li>Fix crash when opening Gadgetbridge from the notification</li>
</ul>
<h3>0.71.0</h3>
<ul>
<li>Remove KitKat support, Gadgetbridge now requires Android 5.0</li>
<li>Initial support for Amazfit GTR 3</li>
<li>Initial support for SuperCars (Shell Racing Cars)</li>
<li>Huami: Add preference to overwrite band settings on connection</li>
<li>Huami: Fix crash when selecting automatic Always On Display</li>
<li>Huami: Set OpenTracks track category and icon</li>
<li>Huami: Implement proper find device</li>
<li>Huami: Change default find band vibration pattern</li>
<li>Flipper Zero: added duration to Intent API</li>
<li>Flipper Zero: fixed crash due to unregistered boradcast receiver</li>
<li>Flipper Zero: fetch firmware version from flipper</li>
<li>Fossil Hybrid HR: Correctly initialize watchface after reset or crash</li>
<li>Fossil Hybrid HR: Set OpenTracks track category and icon to workout type selected on watch</li>
<li>Fossil Hybrid HR: Allow flick_away as custom event and add move_hands event </li>
<li>InfiniTime: Add weather support</li>
<li>Amazfit Neo: Fix world clock</li>
<li>Amazfit Neo: Fix long caller name display</li>
<li>Amazfit Neo: Remove activity tracks (unsupported)</li>
<li>Amazfit GTS 3: Fix battery drain due to unanswered weather requests</li>
<li>Mi Band 7: Fix Weather</li>
<li>Mi Band 6: Add support for workout activity types</li>
<li>Mi Band 6: Enable adding workout activity types to the "more" section</li>
<li>Amazfit GTR: Enable button actions</li>
<li>Zepp OS: Implement activity, sleep and workout fetching</li>
<li>Zepp OS: Improve firmware upgrades</li>
<li>Bangle.js: Add PATCH HTTP request type, and fix for VolleyError UnsupportedOperationException when supplying custom headers.</li>
<li>Bangle.js: Add ability to start services on the Android device via intents.</li>
<li>Bangle.js: Flags and multiple categories can now be specified for intents initiated on the watch.</li>
<li>Bangle.js: Add ability to wake and unlock the Android device via a special intent.</li>
<li>Allow 3rd party apps to set device settings</li>
<li>Re-implement C code in Java and remove Android NDK dependency entirely</li>
<li>Fix crashes on older Android versions when using some devices</li>
<li>Add support for REM sleep</li>
<li>App shortcuts support (long press on the launcher icon for directly connecting a device)</li>
</ul>Gadgetbridge 0.70.0: Initial support for Amazfit GTS 3, for Fossil Hybrid Gen6 and for Flipper Zero2022-09-11T00:00:00+02:002022-09-11T00:00:00+02:00Petr Vaněktag:blog.freeyourgadget.org,2022-09-11:/release-0_70_0.html<h1>Initial support for Amazfit GTS 3, for Fossil Hybrid Gen6 and for Flipper Zero</h1>
<p>Initial support for Amazfit GTS 3 has been provided by Codeberg user sedy89.
This is based on the recent addition of support for the Mi Band 7 and thus has
similar set of features and limitations …</p><h1>Initial support for Amazfit GTS 3, for Fossil Hybrid Gen6 and for Flipper Zero</h1>
<p>Initial support for Amazfit GTS 3 has been provided by Codeberg user sedy89.
This is based on the recent addition of support for the Mi Band 7 and thus has
similar set of features and limitations, see the <a href="https://codeberg.org/Freeyourgadget/Gadgetbridge/wiki/Amazfit-GTS-3">wiki page
here</a>. </p>
<p>Daniel Dakhnod has provided support for the Fossil Hybrid Gen6 watches,
extending the list of supported Fossil Hybrid devices even more. Daniel has
also worked on support for the <a href="https://flipperzero.one/">Flipper Zero</a>, an
open source multi-tool for pentesters and geeks.</p>
<p>This is absolutely awesome, many thanks! Such contributions are unlocking the
door for others with these devices to poke deeper and to further improve the
initial device support.</p>
<h1>A note to Android 4.4 users of Gadgetbridge - this is our last release with KitKat support</h1>
<p>We have tried to keep support for Android 4.4 KitKat for a very long time. This
required some extra work and code sometimes, and it also kept us from using
Java 1.8 language and library features. But until nowm we have felt that we
should not stop supporting it, as there might still be some KitKat users out
there (according to <a href="https://en.wikipedia.org/wiki/Android_KitKat">Wikipedia</a>,
1.47% of Android devices still run KitKat). We have however realized recently
that we (unintentionally) broke KitKat supportin our 0.68 release in July 2022
and that there has not been a single report about this from the Gadgetbridge
user base. Based on this, we have decided to end support for KitKat and make
Android 5.9 (Lollipop) the oldest Android version supported by Gadgetbridge.
If you are a KitKat user, we are sorry. It is time to move on.</p>
<h1>Device support improvements</h1>
<p>Huami device users who experienced issues with notifications vibration since
last update can rejoice, the issue is fixed in this release and their wrists
can now vibrate to their heart content. :)</p>
<p>Mi Band 7 support has been getting additional fixes and improvements, like
preventing crashing when transmitting data with non-ascii characters, adding
support for watchapps and so on.</p>
<p>Bangle.js has gained the possibility to use calendar names and color.s</p>
<p>Fossil Hybrid HR with latest firmware allows to set custom shortcut also for
the middle button.</p>
<p>InfiniTime users should now be able to experience more stable firmware updates.</p>
<h1>General app improvements</h1>
<p>Heart rate measurement intervals can now be configured individually for each
connected device. Skype notifications should again be sent to the watch (even
though the app indicates opposite). Notification settings allow to set
notification text to be send to the device in full length (if available).
Notifications are now also left with line-breaks and with spaces and tabs
(white space characters), to keep formatting as it was.</p>
<p><strong>Many thanks to everyone for their contributions and support!</strong></p>
<p>For all user-facing changes of this release, check the following list:</p>
<h3>0.70.0</h3>
<ul>
<li>Initial support for Amazfit GTS 3</li>
<li>Initial support for Fossil Hybrid Gen6</li>
<li>Initial support for Flipper Zero</li>
<li>Huami: fix default vibration pattern</li>
<li>Huami: Enable vibration patterns for all compatible devices</li>
<li>Huami: Improve large firmware zip file handling</li>
<li>Bangle.js: Fix null pointer issue if headers not supplied for HTTP request</li>
<li>Bangle.js: Support calendar color and name</li>
<li>Mi Band 7: Fix crash if reminder, calendar or canned messages contain non-ascii characters</li>
<li>Mi Band 7: Fix NPE when acknowledging that icon was sent</li>
<li>Mi Band 7: Fix and enable firmware upgrades</li>
<li>Mi Band 7: Support for watchapps</li>
<li>Amazfit Neo: remove 1 hour heartrate interval (not supported)</li>
<li>Fossil Hybrid HR: Fix watchface redraw after powersave and after wrist flick</li>
<li>Fossil Hybrid HR: Enable configuring middle long press on FW 3.0 and newer</li>
<li>InfiniTime: Fix firmware update</li>
<li>Make heart rate measurement intervals configurable per-device</li>
<li>Add option to ignore low priority notifications</li>
<li>Fix Skype notifications</li>
<li>Prefer long notification text by default</li>
<li>Prefer big text when scraping gmail notifications</li>
<li>Do not remove newline and whitespace characters from notification content</li>
<li>Debug: Add companion device list to debug activity</li>
</ul>Gadgetbridge 0.69.0: Initial support for Mi Band 7, Binary Sensor Service and for Fossil 38mm2022-08-26T00:00:00+02:002022-08-26T00:00:00+02:00Petr Vaněktag:blog.freeyourgadget.org,2022-08-26:/release-0_69_0.html<p>Our small group of Gadgetbridge contributors has been very busy in the past
several weeks and the changelog of this new release really shows it. Today,
Gadgetbridge is bringing support for some new devices together with features,
bug fixes and improvements to existing devices and the app itself.</p>
<h1>Initial support …</h1><p>Our small group of Gadgetbridge contributors has been very busy in the past
several weeks and the changelog of this new release really shows it. Today,
Gadgetbridge is bringing support for some new devices together with features,
bug fixes and improvements to existing devices and the app itself.</p>
<h1>Initial support for Mi Band 7, for devices that use Binary Sensor Service and for Fossil/Skagen Hybrid HR 38mm watches</h1>
<p>Mi Band 7 has been out and José Rebelo has worked hard to bring initial support
for this new smart band. The device support is at the moment still somewhat
limited but it is getting better over time. See <a href="https://codeberg.org/Freeyourgadget/Gadgetbridge/wiki/Mi-Band-7">this wiki
page</a> for
details about currently supported features and also for list of known issues.</p>
<p>Daniel Dakhnod has provided support for devices that use <a href="https://www.bluetooth.com/specifications/specs/binary-sensor-service-1-0/">Binary Sensor
Service</a>,
for example for his <a href="https://github.com/dakhnod/NRF51-binary-sensor-firmware">firmware for
nRF51</a>.</p>
<p>And last but not least, <a href="https://codeberg.org/hackoder">hackoder</a> (thank you
very much!) has brought in support for yet another group of Fossil/Skagen
Hybrid HR 38mm watches.</p>
<h1>Active re-connection</h1>
<p>In this release we have fixed few issues related to automatic re-connection.
This is related to all devices supported by Gadgetbridge.</p>
<h1>Notable improvements</h1>
<p><strong>Amazfit Bip U</strong> fitness tracking with GPS data from the phone has been tested and
is now enabled. Amazfit Neo and Mi Band 4 device implementations have received
wave of adjustments and improvements.</p>
<p><strong>Fossil Hybrid HR</strong> widgets (complications) can now be toggled with a physical
button and can also have circle background. </p>
<p><strong>Bangle.js</strong> can now start Android Activities via Android Intents.</p>
<p><strong>InfiniTime</strong> for PineTime should handle step fetching and counting a bit
better from now on. </p>
<p>If you are paying attention to your daily step goals, the Steps per month
screen now provides an icon to open <strong>Steps Streaks</strong> - a new screen that
allows you to see your current and longest series of days without interruption
with the daily steps goal reached, as well as your total achievement rate. See
more details in <a href="https://codeberg.org/Freeyourgadget/Gadgetbridge/wiki/Activity-and-Sleep-Charts#steps-streaks">our
wiki</a>.</p>
<p><img src=/images/StepsStreaks.jpeg width=200 alt="Steps Streaks
screenshot"></p>
<p>For all user-facing changes since the previous blog post, check the following
list :)</p>
<p>Thank you to José, Daniel, Arjan and Andreas for all the ongoing work and
involvement and many thanks to all others for their contributions and support!</p>
<h3>0.69.0</h3>
<ul>
<li>Initial Support for Mi Band 7</li>
<li>Initial support for devices using Binary Sensor Service</li>
<li>Mi Band 4: Enable heartrate activity monitoring support</li>
<li>Mi Band 4: Enable activate display on lift sensitivity setting</li>
<li>Mi Band 6: Enable password support</li>
<li>Mi Band 4/6, Amazfit Bip U: Enable sending GPS coordinates to band during workout</li>
<li>Mi Band 4/6, Amazfit Bip U: Enable start fitness tracking on phone when workout starts on band setting</li>
<li>Amazfit Neo: Support hourly chime which was added in firmware 1.1.2.46</li>
<li>Amazfit Neo: Fix daily steps goal and notification</li>
<li>Amazfit Neo: Fix heartrate sleep detection setting</li>
<li>Amazfit Neo: Enable heartrate activity monitoring support</li>
<li>Amazfit Neo: Fix alarms setting to "unused" on connect.</li>
<li>Bangle.js: Make text as bitmaps have transparent background, and allow font size to be specified</li>
<li>Bangle.js: Allow starting Activities on the Android device</li>
<li>Fossil Hybrid HR: Add support for Hybrid HR 38mm watches</li>
<li>Fossil Hybrid HR: Add optional circle backgrounds to widgets</li>
<li>Fossil Hybrid HR: Add toggling of widgets with physical button event</li>
<li>Fossil Hybrid HR: Add missing physical button options</li>
<li>Fossil Q Hybrid: Fix config activity after multi-device merge</li>
<li>InfiniTime: Fixes for steps count sync</li>
<li>Add steps/sleep streaks screen</li>
<li>Add French transliteration</li>
<li>Refactor file logging initialization logic</li>
<li>Add alert to Log Sharing if logging has not been enabled yet</li>
<li>Fix crash on some phones for find android device (add fallback tone)</li>
<li>Fix regression since 0.68.0 with active auto connect</li>
</ul>Gadgetbridge 0.68.0: Multiple device connections - a huge release!2022-07-27T00:00:00+02:002022-07-27T00:00:00+02:00Andreas Shimokawatag:blog.freeyourgadget.org,2022-07-27:/release-0_68_0.html<p>After almost two months of work since the last version, we finally released one
of the biggest releases of all time!</p>
<h1>Multiple device connections</h1>
<p>Gadgetbridge could traditionally only connect to one device at one moment. That
was mostly enough since not many people would need to connect to two smart …</p><p>After almost two months of work since the last version, we finally released one
of the biggest releases of all time!</p>
<h1>Multiple device connections</h1>
<p>Gadgetbridge could traditionally only connect to one device at one moment. That
was mostly enough since not many people would need to connect to two smart
watches at the same time. But Gadgetbridge has expanded, and there are a lot of
non-smartwatch devices supported by now. For example smart headphones with
various settings or the Mijia e-paper watch. If you wanted to connect to those
devices, you always needed to disconnect your daily driver smart band/watch
first. Thanks to Daniel Dakhnod who worked on multiple device connection
support for over a month, we finally felt that it was time to merge his branch.
We assume there are still some problems and regressions when more than one
device is connected at a time - so consider this experimental and please report
bugs into our <a href="https://codeberg.org/Freeyourgadget/Gadgetbridge/issues">bug
tracker</a>.</p>
<h1>Vast device improvements</h1>
<h2>Huami</h2>
<p>José Rebelo did a lot of further improvements for Huami devices, most notably
tethered GPS support (sending GPS data from the phone to the device after a
workout has been started from the band). This is only enabled for the Mi Band 5
right now but it will be expanded to other devices as we test them.</p>
<h2>Fossil Hybrid HR</h2>
<p>The Fossil Hybrid HR also received a lot of bug fixes and improvements, mainly
thanks to code contributed by Arjan Schrijver who also did a lot of work on the
Fossil front in the past. One highlight here is definitely the much improved
watch app manager which now shows versions and watchface previews. Another
great addition is an integration between the Workout app on the watch and
<a href="https://opentracksapp.com/">OpenTracks</a> - when you start a Workout on the
watch, OpenTracks will start a GPS recording of your workout.</p>
<h2>Bangle.js</h2>
<p>Bangle.js got improvements thanks to multiple contributors. One big new feature
is the webview based app-loader for the internet enabled builds. Also, among
other changes and fixes, calendar sync and sending emoji as images is supported
now. </p>
<h1>Other notable changes</h1>
<p>There actually have been very many general non-device specific improvements in
this release - too much for writing about everything. Refining of the UI and
reorganizing some per-device settings, making more formally global settings
per-device settings, bug fixes, icons etc.</p>
<p>As we always write:</p>
<p>For all user-facing changes since the previous blog post, check the following
list :)</p>
<p>Many thanks to everyone for their contributions and support!</p>
<h3>0.68.0</h3>
<ul>
<li>Multi device support (experimental), allows connecting to multiple devices simultaneously</li>
<li>Fossil Hybrid HR: Allow installation of newer watch apps</li>
<li>Fossil Hybrid HR: Allow workout app the be added as a shortcut</li>
<li>Fossil Hybrid HR: Generate watchface preview image and show it in the app manager</li>
<li>Fossil Hybrid HR: Request custom menu config on watchface initialization</li>
<li>Fossil Hybrid HR: Invert widgets color when the background image is inverted</li>
<li>Fossil Hybrid HR: Show app versions in app manager</li>
<li>Fossil Hybrid HR: Make 2nd TZ widget clock duration configurable and fix wrong offset</li>
<li>Fossil Hybrid HR: Add option to share a cached watchface/app to another app</li>
<li>Fossil Hybrid HR: Allow switching already uploaded watchfaces with Intent</li>
<li>Mi Band 6: Fix night mode on latest firmware</li>
<li>Mi Band 6: add sleep menu item (also to shortcuts)</li>
<li>Mi Band 5: Send GPS location to band during workout</li>
<li>Mi Band 5: Start fitness tracking on phone when workout starts on band</li>
<li>Mi Band 5: Fix missing Portuguese language</li>
<li>Mi Band 5: Add missing breathing shortcut</li>
<li>Mi Band 4: Add password support</li>
<li>Huami: Fix setting heart rate measurement interval on connection</li>
<li>Huami: Fix track name being replaced by album</li>
<li>Huami: Display native alarm notification</li>
<li>Huami: Fix MTU update on device connection</li>
<li>Roidmi 3: Recognize "Roidmi C BLE" as Roidmi 3</li>
<li>Bangle.js fix message REPLY option</li>
<li>Bangle.js: Keep a log of data sent from the watch, and allow it to be saved with from the debug menu</li>
<li>Bangle.js: Support for color dithered bitmaps, and converting emoji->bitmaps</li>
<li>Bangle.js: Adding built-in app-loader view. (Only available on internet-enabled builds)</li>
<li>Bangle.js: fix null pointer issue for debug messages</li>
<li>Bangle.js: Enable calendar sync for bangle</li>
<li>Bangle.js: Add icon</li>
<li>Pebble: fix configuration of some watchfaces (might break other again)</li>
<li>FitPro: add MTU based chunking, add more device names (Sunset 6, Watch7)</li>
<li>UM25: fix missing firmware version</li>
<li>Support for incoming call notification delay</li>
<li>Make calendar blacklist configurable per device</li>
<li>Support folders in device list</li>
<li>Separate device settings which are specific to the application into Set preferences in device card</li>
<li>When pairing devices with auth key requirements, only show Auth key menu related items on long press</li>
<li>Provide access to the FW/App Installer via Set preferences in device card</li>
<li>Animate card movement in device list</li>
<li>Make transliteration configurable per-language</li>
<li>Widget: do not show sleep if not recorded</li>
<li>Pop up a dialog asking about Location permissions</li>
<li>Fix sharing log files on newer android versions</li>
<li>Allow to set Bluetooth discovery scanning level to prevent freezing</li>
<li>Various UI tweaks and fixes</li>
<li>Add monochrome themed icon</li>
<li>Add device menu item to get to the FW/App Installer via an explanation activity</li>
</ul>
<h3>0.67.1</h3>
<ul>
<li>Huami: Fix long music track names not displaying</li>
<li>Amazfit Bip U/Pro/Band 5: Enable extended HR/stress monitoring setting</li>
<li>Pebble: Fix calendar blacklist, view and storage</li>
<li>FitPro: Fix crash, inactivity warning preference to string</li>
</ul>Gadgetbridge 0.67.0: Initial Support for Sony WF-1000XM3 and Galaxy Buds Pro2022-05-21T00:00:00+02:002022-05-21T00:00:00+02:00Petr Vaněktag:blog.freeyourgadget.org,2022-05-21:/release-0_67_0.html<p>After two months of development since the last version, we have yet another
very interesting feature rich release to talk about. Development felt a bit
slow at the beginning but looking at the changelog, there are many additions,
improvements and also some newly supported devices.</p>
<h1>New devices</h1>
<p>Lets start with …</p><p>After two months of development since the last version, we have yet another
very interesting feature rich release to talk about. Development felt a bit
slow at the beginning but looking at the changelog, there are many additions,
improvements and also some newly supported devices.</p>
<h1>New devices</h1>
<p>Lets start with new support for another two headphones - Sony WF-1000XM3 and
Galaxy Buds Pro. While it may feel like "yet another very similar device(s)",
each of them required careful work on dissecting and implementing the
communication protocols. Big thanks to José R. for work on the Sony headphones
and in the case of the Galaxy Buds Pro, also big thank you to two very helpful
users - owners of the headphones - who were able to gather the data and help
with providing the necessary low level communication info that was required for
implementing support for this device.</p>
<h1>Bangle.js</h1>
<p>We have added another <code>gradle product flavor</code> for Bangle.js specific release.
This particular custom flavor will make use of some extra features, together
with <strong>added permission for networking</strong>. Do note that this permission is <strong>not
enabled for our normal Gadgetbridge releases</strong> and is only available on the
Bangle.js specific build, as the Bangle.js watch is built around their online
application repository and it requires internet connectivity for proper
function. We believe that this cooperation with the Bangle project is very
useful for both sides and that communities around both Bangle.js and
Gadgetbridge can benefit from this connection. We can already see some
contributions that help to clarify for example requests for permissions, making
Gadgetbridge more user friendly during the initial onboarding experience.
Bangle implementation also got new communication intents to be able to share
data from/to other Android apps.</p>
<h1>Mi Band 5/Amazfit Band 5 enhancements and other improvements</h1>
<p>Users of Mi Band 5, Amazfit Band 5 (and several other Huami devices) can now
enjoy new features like world clock configuration, workout menu configuration,
vibration patter selection, wrist flick sensitivity settings, extended heart
rate activity monitoring and alerts and few other improvements.</p>
<p>Thanks to José for all these improvements! We will continue to unlock
features on more Huami devices after testing.</p>
<p>The <a href="https://opentracksapp.com/">OpenTracks</a> <a href="https://codeberg.org/Freeyourgadget/Gadgetbridge/wiki/OpenTracks-API">API controller</a>
newly supports stop and toggle functions, now after the API itself has been
finalized.</p>
<p>The Fossil Hybrid HR now supports a flexible custom menu on the watch as well
as the possibility to honor native do not disturb settings. See the much
improved <a href="https://codeberg.org/Freeyourgadget/Gadgetbridge/wiki/Fossil-Hybrid-HR">wiki page</a>. </p>
<p>Various fixes and enhancements have been done in several places, together with
some visual improvements like a few new icons.</p>
<h1>Nightly builds</h1>
<p>During the Christmas holidays we started utilizing
<a href="https://codeberg.org/">Codeberg's</a> <a href="https://ci.codeberg.org/">Woodpecker CI</a>
(<a href="https://woodpecker-ci.org/">Woodpecker.org</a>) for automatic Nightly release of
Gadgetbridge into our own <a href="https://freeyourgadget.codeberg.page/fdroid/repo/">F-Droid repository</a>.
This release is automatically built and released every night when new commits
have been done to our repository. The nightly release comes in two build types:
"normal" nightly release and "No Pebble provider" nightly release. The
"No Pebble provider" release was created due to the fact that if you have either
the official Gadgetbridge <a href="https://f-droid.org/packages/nodomain.freeyourgadget.gadgetbridge/">F-Droid release</a>
or the original Pebble app installed, you cannot install another app (for
example the Gadgetbridge Nightly release) which provides something called
"Pebble provider" (<code>com.getpebble.android.provider</code>). The "No Pebble provider"
version allows to be installed alongside existing Gadgetbridge or Pebble app. If
you are planning to use the Nightly release and want to migrate your data from
the official release, make sure to be careful when exporting and backing up your
data. See detailed explanation in our <a href="https://codeberg.org/Freeyourgadget/Gadgetbridge/wiki/Data-Export-Import-Merging-Processing#backup-your-data">wiki here</a>.
Big kudos to the Codeberg and Woodpecker teams for providing us with these great
tools for hosting and maintaining of our FLOSS project!</p>
<p>Many thanks to everyone for their contributions and support!</p>
<p>For all user-facing changes since the previous blog post, check the following
list:</p>
<h3>0.67.0</h3>
<ul>
<li>Initial Support for Sony WF-1000XM3</li>
<li>Initial Support for Galaxy Buds Pro</li>
<li>Huami: Add Toggle function for Open Tracks tracking to button actions</li>
<li>Huami: Move inactivity warnings, goal notification and HR monitoring to device-specific settings</li>
<li>Mi Band 6: set time on connect</li>
<li>Mi Band 5/6, Amazfit Bip S/U/Pro: Add world clock configuration</li>
<li>Mi Band 5/6: support sensitivity setting for lift wrist configuration</li>
<li>Mi Band 5: Add support for configuring workout menu on device</li>
<li>Mi Band 4/5/6, Amazfit Bip U/Pro: Add support for vibration patterns</li>
<li>Mi Band 5: Increase number of reminder slots to 50</li>
<li>Mi Band 5/6: Add setting for HR activity monitoring, HR alerts, stress monitoring</li>
<li>Amazfit Neo: Allow to disable beeps for email notifications</li>
<li>Bangle.js: Fix incoming calls in release builds</li>
<li>Bangle.js build: Add option for enabling/disabling internet access</li>
<li>Bangle.js: Add ability to receive intents to com.banglejs.uart.tx</li>
<li>Fossil Hybrid HR: Support flexible custom menu on watch</li>
<li>Fossil Hybrid HR: Add support for native DND Call/SMS functionality</li>
<li>VESC: added battery indicator</li>
<li>UM25: Add reset option to current accumulation</li>
<li>UM25: Add notification on below current threshold</li>
<li>Fix crash when calendar is accessed but permission is denied</li>
<li>Add com.asus.asusincallui and com.samsung.android.incallui to blacklist</li>
<li>New icons for Sony overhead headphones, Sony WF 800n and Mi Band 6</li>
<li>When Gadgetbridge needs permissions, pop up a dialog asking nicely and explaining why</li>
</ul>Gadgetbridge 0.66.0: Initial support for Casio GBD-H1000 and Hama Fit Track 19002022-03-27T00:00:00+01:002022-03-27T00:00:00+01:00Petr Vaněktag:blog.freeyourgadget.org,2022-03-27:/release-0_66_0.html<p>Support for two new devices has been added - the Casio GBD-H1000 and Hama Fit
Track 1900. Both of these additions use existing device implementations and add
a new name of the device as chosen by the vendor, allowing more people to use
their devices with Gadgetbridge.</p>
<p>Arjan Schrijver worked on …</p><p>Support for two new devices has been added - the Casio GBD-H1000 and Hama Fit
Track 1900. Both of these additions use existing device implementations and add
a new name of the device as chosen by the vendor, allowing more people to use
their devices with Gadgetbridge.</p>
<p>Arjan Schrijver worked on a new OpenTracks Controller which allows tight
integration between Gadgetbridge and <a href="https://opentracksapp.com/">OpenTracks</a>.
The main idea is to be able to use OpenTracks as a source of data during
workouts (running, walking...). OpenTracks can be started from a device (watch)
connected to Gadgetbridge, activity is tracked in OpenTracks and OpenTracks
provides information about activity duration, speed and so on to Gadgetbridge,
who sends it back to the watch. At the moment, only the <a href="https://codeberg.org/Freeyourgadget/Gadgetbridge/wiki/Fossil-Hybrid-HR">Fossil Hybrid
HR</a>
provides full integration into it's Workout app. Huami devices (Mibands,
Amazfit) with a button that allows usage of the <a href="https://codeberg.org/Freeyourgadget/Gadgetbridge/wiki/Huami-Button-Actions">Button
actions</a>
can use this via a new Action: Fitness app tracking start. Current limitations
of this OpenTracks Controller are: </p>
<ul>
<li>OpenTracks can only be started at the moment</li>
<li>data about workout is not used for Huami Activities/Workouts in the
watch/band</li>
</ul>
<p>Fossil Hybrid HR implementation has received additional improvements which
allows better support for button customization (allow to disable the button)
and for widget editing (try to guess position of the widget).</p>
<p>Mi Band 6 now allows syncing alarm details from the watch to Gadgetbridge. If
you change the alarm time on-device (even while being disconnected),
Gadgetbridge will also reflect the changes. This was previously alread done for
Amazfit Bip U and others, but the implementation was more difficult for the
Mi Band 6.</p>
<p>The improved XWatch support now supports calls, messages and apps notifications.</p>
<p>Improvements have also been done to the Bangle.js implementation - Gadgetbridge now
handles battery charging status and some battery chart issues were fixed. Fix
for "no incoming call notification" has been added but it seems that this fix
is not final, see more <a href="https://github.com/https://github.com/espruino/BangleApps/issues/9766">details here</a>.</p>
<p>Many thanks to everyone for their contributions and support!</p>
<p>For all user-facing changes since the previous blog post, check the following
list:</p>
<h3>0.66.0</h3>
<ul>
<li>Add basic support for Casio GBD-H1000</li>
<li>Add support for Hama Fit Track 1900 - via FitPro device support</li>
<li>Add OpenTracksController for interactions with OpenTracks</li>
<li>Fossil Hybrid HR: Start/stop track in OpenTracks from GPS workout on watch</li>
<li>Fossil Hybrid HR: Try guessing new widget position</li>
<li>Fossil Hybrid HR: Allow assigning no function to a button</li>
<li>Add Huami button/device action to control fitness tracking via OpenTracksController</li>
<li>Mi Band 6: Sync alarms set on the watch like on Amazfit Bip U and others</li>
<li>Bangle.js: Handle battery charging status and fix battery chart.</li>
<li>Bangle.js: Prevent exception in case UART RX line is empty</li>
<li>Bangle.js: Add repetitions in alarm JSON</li>
<li>WaspOS: Fix battery chart.</li>
<li>WaspOS: Add condition code to weather JSON</li>
<li>XWatch: Add notifications and calls support</li>
<li>UM-25: Make cumulative values resettable</li>
<li>VESC: Fixed crash when loading a saved value</li>
<li>Allow to open Android notification settings from Notification settings</li>
<li>AutoExporter changes for better operation and troubleshooting</li>
<li>Change Nightly icons background color</li>
</ul>Gadgetbridge 0.65.0: Initial support for Amazfit Pop/Pro watch and for Sony WH-1000XM4 headphones2022-01-27T00:00:00+01:002022-01-27T00:00:00+01:00Petr Vaněktag:blog.freeyourgadget.org,2022-01-27:/release-0_65_0.html<p>Support for Amazfit Pop/Pro has been added. This watch seems to be almost
identical to Amazfit Bip U/Pro but it has different firmware so we have
separated the device support to make sure things work correctly in the future.
Another new device are the over the ear wireless …</p><p>Support for Amazfit Pop/Pro has been added. This watch seems to be almost
identical to Amazfit Bip U/Pro but it has different firmware so we have
separated the device support to make sure things work correctly in the future.
Another new device are the over the ear wireless headphones Sony WH-1000XM4.</p>
<p>The overall Sony Headphones implementation has been worked on a lot and got
improvements to initialization, noise canceling and more.</p>
<p>Fossil Hybrid HR support has also received several updates and improvements.</p>
<p>In order to keep alarms between Gadgetbridge and Amazfit Bip U in sync, reading
alarm details from the watch has been implemented. This fixed the problem that
Gadgetbridge overwrote changes done on the watch UI. This should also work
on other Huami devices, but we could only test it on the Bip U so far. Mi
Band 6 needs some additional data decryption which will come in the next
release.</p>
<p>Many thanks to everyone for their contributions and support!</p>
<p>For all user-facing changes since the previous blog post, check the following
list:</p>
<h3>0.65.0</h3>
<ul>
<li>Amazfit Pop/Pro: Initial Support (probably the same as Bip U but has a different firmware)</li>
<li>Sony WH-1000XM4: Initial Support</li>
<li>Sony WH-1000XM3: Disable equalizer, surround and sound position while in SBC codec</li>
<li>Sony Headphones: Improve initialization on connection</li>
<li>Sony Headphones: Implement Noise Cancelling Optimizer</li>
<li>Casio: Fix accidentally disabled time synchronization and pairing of new Casio GBX/GBD-series watches</li>
<li>Fossil Hybrid HR: Improve Device Applications List handling</li>
<li>Fossil Hybrid HR: Added ability to change activity recognition settings on the watch</li>
<li>Fossil Hybrid HR: Make width of custom widget configurable</li>
<li>Fossil Hybrid HR: Disable non-configurable buttons preferences</li>
<li>Amazfit Bip U: Read alarm from the watch on connect and update in Gadgetbridge when changing alarms on the watch (might work on other Huami devices)</li>
<li>Add icon for VESC devices</li>
<li>Add commit id into About screen</li>
<li>Make debug activity notification test to persist text while switching apps</li>
<li>Add Portuguese to the list of language options</li>
<li>Update configuration button icon in app notification settings</li>
</ul>Gadgetbridge 0.64.0: Initial support for VESC NRF/HM10 devices, Bose QC35 and for Sony WF-SP800N2021-12-31T00:00:00+01:002021-12-31T00:00:00+01:00Petr Vaněktag:blog.freeyourgadget.org,2021-12-31:/release-0_64_0.html<p>Quite unexpectedly, we have tagged and F-Droid has already published one more
update: 0.64.0, making it the 24th release of this year. Besides many "small"
additions and improvements, this release also adds support for three new
devices: two new earphones, Bose QC35 and Sony WF-SP800N, plus there is …</p><p>Quite unexpectedly, we have tagged and F-Droid has already published one more
update: 0.64.0, making it the 24th release of this year. Besides many "small"
additions and improvements, this release also adds support for three new
devices: two new earphones, Bose QC35 and Sony WF-SP800N, plus there is now
also support for VESC NRF/HM10 devices - Speed Controllers. Adding device
support is always a lot of work so we are grateful for every single device
support, allowing everyone to use their devices in a libre way.</p>
<p>Together with our army of wonderful contributors, we have been working on
improving various aspects of interactions with the supported devices. One could
tend to think about these as about some "small" additions, but each
contribution means a lot of investigation, work and testing. Thanks everyone
for helping Gadgetbridge to get better.</p>
<p>To pick a few enhancements... the InfiniTime steps synchronization has been
adjusted to have lesser impact on the device battery. Sony headphones
communication has been improved to not only send data to the device but also to
read settings from the headphones. The car FM transmitter Roidmi support has
been enhanced to be able to control a new rebrand called Mojietu. Bangle.js
weather data and music control has been improved. Many of the Huami gadgets
(the Mi Bands and Amazfit devices) have received improvements in communication
protocol, notifications handling, menu settings, Reminders (an alarm like
notification with a text label) and many more enhancements.</p>
<p>Device pairing and discovery settings have been made available directly from
the Discovery screen which now also allows adding test device directly from the
discovery screen (previously possible only from the Debug screen).</p>
<p>Many thanks to everyone for their contributions and support!</p>
<p>For all user-facing changes since the previous blog post, check the following
list:</p>
<h3>0.64.0</h3>
<ul>
<li>Initial support for VESC NRF/HM10 devices</li>
<li>Initial support for Bose QC35</li>
<li>Initial support for Sony WF-SP800N</li>
<li>Fossil Hybrid HR: Fix on-device confirmation for older firmwares</li>
<li>Sony WH-1000XM3: Fix Ambient Sound Control commands, potentially improving ANC quality</li>
<li>Sony WH-1000XM3: Read configuration from device</li>
<li>InfiniTime: Remove debug Toast and subscription to UUID_CHARACTERISTIC_MOTION_RAW_XYZ_VALUES</li>
<li>Roidmi: Fix frequency configuration on some non-english languages</li>
<li>Roidmi 3: Add support for Mojietu 3 rebrand</li>
<li>Huami: Support hiking and climbing activities, decode some more activity details</li>
<li>Amazfit GTS 2 mini: Fix notification title not appearing for non-chat apps</li>
<li>Amazfit Bip U/Pro: Disable event reminder feature, it is not supported by the device.</li>
<li>Amazfit Bip U/Pro: Allow enabling Todo List menu (feature still not supported)</li>
<li>Bangle.js: send weather condition code to device</li>
<li>Allow adding test device directly from the discovery screen</li>
<li>Keep device info on the correct device during reordering</li>
</ul>
<h3>0.63.1</h3>
<ul>
<li>Huami: Support native reminders</li>
<li>InfiniTime: Initial support for step counting (currently very limited by the device firmware)</li>
<li>Bangle.js: Fix Gadgetbridge crashes when playing music with some players</li>
<li>Fossil Hybrid HR: Add support for on-device paring confirmation, for watches that are in a state which makes this neccessary</li>
<li>Fossil Hybrid HR: Fix widget configuration bug</li>
<li>Mi Band 3: Support lift wrist during DND setting</li>
<li>Amazfit GTS 2 Mini: Fix language setting</li>
<li>Amazfit GTS 2 Mini: Fix setting menu items on the watch</li>
<li>Activity card: Open specific Charts tab for each activity</li>
<li>Activity Card: React to User settings, unify step length</li>
<li>Activity card: simplify the layout and only show each chart if there is data (Cleaner layout for users with multiple devices)</li>
</ul>Gadgetbridge 0.63.0: Initial support for Galaxy Buds Live, Sony WH-1000XM32021-12-03T00:00:00+01:002021-12-03T00:00:00+01:00Andreas Shimokawatag:blog.freeyourgadget.org,2021-12-03:/release-0_63_0.html<p>This might be the last release for 2021, but it is a big one!</p>
<p>This release adds support for two new earphones, the Sony WH-100XM3 and Galaxy
Buds Live and also for two another watches of the Casio family, the GBD-200 and
for GBD-100 (support of the GBD-100 is untested …</p><p>This might be the last release for 2021, but it is a big one!</p>
<p>This release adds support for two new earphones, the Sony WH-100XM3 and Galaxy
Buds Live and also for two another watches of the Casio family, the GBD-200 and
for GBD-100 (support of the GBD-100 is untested at the moment).</p>
<p>Apart from that there are several new features and bug fixes across many
different devices.</p>
<p>Most notably for everyone with a device supporting step counting, there is a
big visual change in the main activity: The device cards will now show steps,
distance and sleep data, which eliminates the need to enter the Charts screen
when an overview it enough.</p>
<p>The Fossil HR got support for a new custom widget which can be set to display
various configurable information. This widget comes bundled with Gadgetbridge
and was made for the Gadgetbridge native watchface. Also support for more than
one timezone widgets has been added.</p>
<p>Gadgetbridge got support for displaying status and charts of multiple batteries
which is useful for earphones, Nothing Ear(1) and Galaxy Buds are the ones
which leverage this feature.</p>
<p>For all user-facing changes since the previous blog post, check the following
list:</p>
<h3>0.63.0</h3>
<ul>
<li>Galaxy Buds Live: Initial Support</li>
<li>Sony WH-1000XM3: Initial Support</li>
<li>Add support for Casio GBD-200 and untested support for GBD-100</li>
<li>Casio: Fix alarm handling on all devices</li>
<li>Fossil Hybrid HR: Add button for removing the watchface background image</li>
<li>Fossil Hybrid HR: Support multiple 2nd-TZ and Custom widgets</li>
<li>Fossil Hybrid HR: Add support for native DND functionality</li>
<li>Nothing Ear (1): Add multiple batteries support</li>
<li>Galaxy Buds: Add multiple batteries support</li>
<li>Roidmi: New FM Frequency selector with presets</li>
<li>Mi Band 6: Try to add Alipay to menu settings, untested</li>
<li>FitPro: Support more bands with different bluetooth names</li>
<li>Add activity info to device cards</li>
<li>Add Nekogram X to Telegram notifications</li>
<li>Move location settings out of Pebble menu</li>
<li>Sort devices by alias, if available</li>
</ul>Gadgetbridge 0.62.0: Bug fix release to fix steps syncing. Plus, initial support for Casio STB-1000 and Galaxy Buds 20192021-11-05T00:00:00+01:002021-11-05T00:00:00+01:00Petr Vaněktag:blog.freeyourgadget.org,2021-11-05:/release-0_62_0.html<p>During this year's summer, in August, a long-standing issue was being dealt
with of how time and time-zones are handled in Gadgetbridge for Huami devices.
This resulted in a (finally) correct time to be sent to the watches, without
time-zone related work around and guessing. Unfortunately, after the switch
from …</p><p>During this year's summer, in August, a long-standing issue was being dealt
with of how time and time-zones are handled in Gadgetbridge for Huami devices.
This resulted in a (finally) correct time to be sent to the watches, without
time-zone related work around and guessing. Unfortunately, after the switch
from daylight saving time (DST) back to normal time, one other place with an
issue was discovered, which caused steps being not synchronized. We have fixed
this issue and quickly made a release. After you update Gadgetbridge, all
previously unsynchronized data will get synchronized automatically. As a
result, world clocks and time zone indicators should show correct time, as well
as GPS which might get a slightly faster position fix due to having correct
initial time to start from. This fix is also fixing time-zone being sent to
InfiniTime. Props to Andreas for the fast action on this!</p>
<p>We have received another contribution by Andy Böhler in the form of support for
Casio STB-1000. Limitations of GB-5600B/GB-6900B apply. Many thanks!</p>
<p>On the true wireless earbuds front, in this Gadgetbridge version, we have added
initial support for another new device, this time it is the original 2019
version of Samsung Galaxy Buds. Be aware that you should not have the Wear app
running on the same device while trying to add these earbuds to Gadgetbridge,
as these two apps may collide with each other. Adding support for this device
would not have been possible without having the example of Nothing Ear (1) in
Gadgetbridge codebase. <3</p>
<p>Owners of Amazfit Bip U Pro can now enjoy added support for flashing AGPS
updates. And this release is also eliminating a crash when receiving broken
weather data from TinyWeatherForecastGermany.</p>
<p>For all user-facing changes since the previous blog post, check the following
list:</p>
<h3>0.62.0</h3>
<ul>
<li>Initial support for Galaxy Buds 2019</li>
<li>Huami: Fix syncing of data in non-DST time</li>
<li>InfiniTime: Fix wrong time zone being sent in non-DST mode</li>
<li>Amazfit Bip U Pro: Support flashing AGPS updates</li>
<li>FitPro: recognize LH716 devices</li>
<li>Add support for Casio STB-1000. Limitations of GB-5600B/GB-6900B apply</li>
<li>Prevent crash when receiving broken weather data from TinyWeatherForecastGermany</li>
</ul>Gadgetbridge 0.61.0: Initial support for true wireless earbuds Nothing Ear(1)2021-10-22T00:00:00+02:002021-10-22T00:00:00+02:00Petr Vaněktag:blog.freeyourgadget.org,2021-10-22:/release-0_61_0.html<p>One of the core team members has provided an initial support for true wireless
earbuds Nothing Ear(1). This is the first support of this kind of device in our
codebase and it is a perfect fit for an app like Gadgetbridge. Many thanks to
Daniele!</p>
<p>Special maintenance tender loving …</p><p>One of the core team members has provided an initial support for true wireless
earbuds Nothing Ear(1). This is the first support of this kind of device in our
codebase and it is a perfect fit for an app like Gadgetbridge. Many thanks to
Daniele!</p>
<p>Special maintenance tender loving care of this release was devoted to Amazfit
Bip U/Pro, with fixes targeting firmware and watchface flashing, Unicode emoji
support and language settings (this fixed language settings for many Huami
devices).</p>
<p>The Bluetooth enabled USB multimeter UM25 now displays more measured data and
the editor for Fossil Hybrid HR watchfaces got the possibility to rotate
images, making the user interaction simpler.</p>
<p>Notification management has been moved into a separate settings category and
newly allows defining the notification filter to either allow or deny
notifications from selected applications. New "Message privacy mode" allows to
receive discrete notification with just an icon of the application, which
prevents leaking the sender name and/or notification text to your surrounding.
On Android 10 and up, the "Hide notification icon" is no longer present in the
settings, as it had no effect there.</p>
<p>We also thank to all supporters and translators for their continuous help! </p>
<p>For all user-facing changes since the previous blog post, check the following
list:</p>
<h3>0.61.0</h3>
<ul>
<li>Initial support for Nothing Ear(1)</li>
<li>Amazfit Bip U/Pro: Fix flashing firmware and watchfaces</li>
<li>Amazfit Bip U/Pro: Fix language setting</li>
<li>Amazfit Bip U/Pro: allow unicode emoji</li>
<li>Huami: fix supported languages list on many devices</li>
<li>UM25: show more measured data</li>
<li>Improved notification management including blacklist or whitelist apps settings or discrete notifications with removed text</li>
<li>Fix default daily target distance from 5 to 5000 meters</li>
</ul>Gadgetbridge 0.60.0: Initial support for FitPro devices2021-09-25T00:00:00+02:002021-09-25T00:00:00+02:00Andreas Shimokawatag:blog.freeyourgadget.org,2021-09-25:/release-0_60_0.html<p>Gadgetbridge 0.60.0 has been tagged and should hit F-Droid in a few days!</p>
<p>As the biggest feature, this release adds support for FitPro devices, which
has been implemented by Petr Vaněk. The implementation was tested using an M6
band, but other devices which also work with the FitPro …</p><p>Gadgetbridge 0.60.0 has been tagged and should hit F-Droid in a few days!</p>
<p>As the biggest feature, this release adds support for FitPro devices, which
has been implemented by Petr Vaněk. The implementation was tested using an M6
band, but other devices which also work with the FitPro app could now also
work with Gadgetbridge. For more details please have a look at the
<a href="https://codeberg.org/Freeyourgadget/Gadgetbridge/wiki/FitPro">wiki</a></p>
<p>Noteworthy bugfixes include a fix for a wrong log directory named
GB_LOGFILES_DIR_IS_UNDEFINED which confused developers and users for some
years now, a connection fix for Casio GBX-100 devices, and a fix for weather on
the new Mi Band 6 firmware, which introduced many breaking protocol changes.
Implementing the new protocol started with Gadgetbridge 0.59.2, was
completed with 0.59.3, and probably completely fixed with 0.60.0.</p>
<p>Thanks to all contributors during this release cycle! And to all the people
who continuously provide valuable information and test results.</p>
<p>For all user-facing changes since the previous blog post, check the following
list:</p>
<h3>0.60.0</h3>
<ul>
<li>Initial support for FitPro bands</li>
<li>Mi Band 6: really fix weather on new firmware</li>
<li>Casio GBX-100: Fix connection</li>
<li>Fossil Hybrid HR: Lower battery level warning threshold to 10%</li>
<li>Add ringtone preference setting for find your phone feature</li>
<li>Fix a bug where GB_LOGFILES_DIR_IS_UNDEFINED is used as a logfile directory</li>
<li>Remove per-device preferences upon device removal (backup your keys if you do that)</li>
<li>Exclude not worn sleep times from sleep sessions</li>
<li>Add Icelandic and Czech transliteration</li>
</ul>
<h3>0.59.3</h3>
<ul>
<li>Mi Band 6: Properly support firmware 1.0.4.38</li>
<li>Mi Band 6: Add Flashlight to menu items</li>
<li>ZeTime: Fix corruption on long notifications</li>
</ul>
<h3>0.59.2</h3>
<ul>
<li>Mi Band 6: Support firmware 1.0.4.38 (experimental, still missing features)</li>
<li>InfiniTime: Fix null being displayed as notification title</li>
</ul>
<h3>0.59.1</h3>
<ul>
<li>Fossil Hybrid HR: Add power saving feature and many new widgets for the official Gadgetbridge watchface (battery, calories, 2nd TZ, chance of rain)</li>
<li>Fossil Hybrid HR: Support setting metric/imperial mode</li>
<li>Amazfit T-Rex Pro: Try to fix some menu items</li>
<li>Huami: Re-enable setting the timezone correctly with included DST (fixes world time)</li>
<li>Bangle.js: Add functions for pushing bitmaps</li>
<li>Bangle.js: Aadd configurable MTU</li>
<li>Add Heart Rate measurement screen, accessible via heart icon in device action icons</li>
</ul>Gadgetbridge 0.59.0: Initial support for SMA Q2 (OSS Firmware), Fossil Hybrid HR improvements2021-07-26T00:00:00+02:002021-07-26T00:00:00+02:00Andreas Shimokawatag:blog.freeyourgadget.org,2021-07-26:/release-0_59_0.html<p>Thanks to x29a, Gadgetbridge 0.59.0 now supports the open source custom
firmware for the SMA Q2 done by Emeryth over at github.com. The devices
features an always on reflective display and four buttons. For those who
want a fully open source experience including the the firmware on …</p><p>Thanks to x29a, Gadgetbridge 0.59.0 now supports the open source custom
firmware for the SMA Q2 done by Emeryth over at github.com. The devices
features an always on reflective display and four buttons. For those who
want a fully open source experience including the the firmware on the watch,
this could be an option, along with the bangle.js and PineTime.</p>
<p>For Fossil Hybrid HR users, thanks to Arjan Schrijver (again!!) Gadgetbridge
0.59.0 also has a really cool watchface designer for new firmware versions.
Without using the official app, it is now possible to create new watchfaces
with a custom background and freely positioned widgets (weather, date,
steps, HR implemented so far).</p>
<p>For all user-facing changes since the previous blog post, check the following
list:</p>
<h3>0.59.0</h3>
<ul>
<li>Initial support for SMA Q2 OSS firmware (Emeryth)</li>
<li>Fix broken UM25 support</li>
<li>Fossil Hybrid HR: Add watchface designer</li>
<li>use '_' instead ':' in exported and imported file names to fix problems with some Android versions</li>
<li>Fix applying theme as set by the system</li>
<li>Try to improve behavior when quitting Gadgetbridge</li>
</ul>
<h3>0.58.2</h3>
<ul>
<li>InfiniTime: Support notification for battery level</li>
<li>Allow importing GPX tracks via Android Intent/Share system</li>
<li>Add option for black background to dark theme</li>
<li>BangleJS, WaspOS: Support for transliteration</li>
<li>Add missing icons to settings items</li>
</ul>
<h3>0.58.1</h3>
<ul>
<li>Pebble: Fix broken app manager (regression from 0.57.1)</li>
<li>Bangle.js: Try to fix crash when attempting to load activity chart</li>
<li>Amazfit T-Rex Pro: Add barometer to menu items</li>
<li>Remove battery data when device is being removed</li>
<li>Add transliteration to PineTime</li>
<li>Debug: Allow adding fake testing devices manually</li>
<li>Reduce margin of icons in device_item to keep one row for typical amount of icons</li>
</ul>Add GPS track to any recorded sports activity2021-07-18T00:00:00+02:002021-07-18T00:00:00+02:00Petr Vaněktag:blog.freeyourgadget.org,2021-07-18:/add_gps_track_to_any_sports_activity.html<p>One of the most missing and wanted features of Gadgetbridge for sports
enthusiasts with a Miband (or other Huami device) is to track a sports activity
which requests a connection to the original app, to provide GPS tracking. At
this point, Gadgetbridge does not have this possibility and as a …</p><p>One of the most missing and wanted features of Gadgetbridge for sports
enthusiasts with a Miband (or other Huami device) is to track a sports activity
which requests a connection to the original app, to provide GPS tracking. At
this point, Gadgetbridge does not have this possibility and as a work around,
the <a href="https://codeberg.org/Freeyourgadget/Gadgetbridge/wiki/Huami-Heartrate-measurement#bluetooth-heart-rate-sensor-sharing-to-another-apps">3rd party Heart Rate sensor
sharing</a>
has been the best option. This works quite well, but has a downside of some
activities/data being tracked only in Gadgetbridge while some other data are
only in other apps. </p>
<h3>Import and link a GPS track</h3>
<p>With the release of version 0.58.2 we have added the ability to import a GPS
track in the form of a GPX file (a file with a GPS recording) and link it to a
recorded sports activity inside Gadgetbridge. While this still requires an
extra GPS recording app, it allows us to have at least a single place where
activities live.</p>
<p>At the same time, this now offers a new possibility to link a GPX file to a
sports activity that did not even allow to have a GPS recording in the first
place - like outdoor rowing while using the rowing machine recording or pool
swimming (if you have a waterproof phone). And, it opens up a door for other
devices to provide some sports activity recording info and then link the GPS
externally... for example the WaspOS just added a first raw version of a
<a href="https://github.com/daniel-thompson/wasp-os/commit/b0bab534ff6308a9d87a61ea88e5fd72c252b75e">SportsApp</a>
which is essentially a stopwatch and a step counter. </p>
<figure><img src=/images/gpx_track_01.jpg width=300 alt="Gadgetbridge Sports
Activity screenshot"><figcaption align="center"><b>Gadgetbridge Sports
Activity detail</b></figcaption></figure>
<h3>How does it work</h3>
<p>In your band/watch, you start recording an activity and you also start
recording tracking in your sports tracking app like <a href="https://f-droid.org/packages/de.dennisguse.opentracks/">Open
Tracks</a> or
<a href="https://f-droid.org/packages/de.tadris.fitness/">FitoTrack</a>. As an extra
bonus, you can also set your device to provide Heart Rate to the sports
tracking app, like <a href="https://codeberg.org/Freeyourgadget/Gadgetbridge/wiki/Huami-Heartrate-measurement#bluetooth-heart-rate-sensor-sharing-to-another-apps">documented
here</a>.
After you are done with your sports activity and stop the recording on both the
band and in the tracking app, you sync the Sports Activities with Gadgetbridge
and you take the recording from tracking app and share it with Gadgetbridge -
we newly provide a dedicated GPX Receiver, so you can share a GPX from any app
in Android. Gadgetbridge will receive the GPX track and will copy it to it's
<a href="https://codeberg.org/Freeyourgadget/Gadgetbridge/wiki/Data-Export-Import-Merging-Processing#user-content-export-import-folder">files</a>
folder. Then, looking at the details of the recorded activity in the Sports
Activities section of Gadgetbridge, you can tap the "edit GPX" <img
src=/images/gps_edit.svg height=25 alt="edit GPX icon"> icon and select the
required GPX track.</p>
<figure><img src=/images/gpx_track_04.jpg width=300 alt="Gadgetbridge GPX
Receiver"><img src=/images/gpx_track_01a.jpg width=300 alt="Edit GPX
track"><figcaption align="center"><b>Gadgetbridge GPX Receiver and Editing GPX
track</b></figcaption></figure>
<h3>What does it provide</h3>
<p>This gives you a chance to have a single place for all records of activities
you have done with your band and also have the associated GPS data with it.
Often, the activity recorded by the band will have some extra details like
averages of steps and heart rate, number of steps and for some activities like
swimming or rowing you can also see the number of stokes and so on. Besides
creating a picture of the track to better identify the activity, we do not do
any extra data extraction from the GPX, since similarly to the GPS recording,
this is a very niche domain and we let those who are already doing a great job
with the tracking and mapping apps to calculate and show you some stats of the
recorded GPS data.</p>
<p>To see the track in more detail, you can of course use the "Show GPS Track" to
export or view the recording in another app - like in <a href="https://f-droid.org/packages/de.dennisguse.opentracks/">Open
Tracks</a>,
<a href="https://f-droid.org/packages/de.tadris.fitness/">FitoTrack</a>,
<a href="https://f-droid.org/en/packages/net.osmand.plus">OsmAnd~</a>, <a href="https://f-droid.org/packages/ch.bailu.aat/">AAT Another
Activity Tracker</a> or others.</p>
<p>Visit our <a href="https://codeberg.org/Freeyourgadget/Gadgetbridge/wiki/">wiki</a> to see
a full step by step <a href="https://codeberg.org/Freeyourgadget/Gadgetbridge/wiki/Integrating-with-Sports-Tracking-apps">manual with
screenshots</a>.</p>
<figure><img src=/images/gpx_track_02.jpg width=300 alt="OsmAnd
screenshot"><img src=/images/gpx_track_03.jpg width=300 alt="OsmAnd
screenshot"><figcaption align = "center"><b>OsmAnd
screenshots</b></figcaption></figure>Gadgetbridge 0.58.0: Initial Amazfit T-Rex Pro support2021-06-15T00:00:00+02:002021-06-15T00:00:00+02:00Petr Vaněktag:blog.freeyourgadget.org,2021-06-15:/release-0_58_0.html<p>Amazfit T-Rex Pro has been added to list of supported devices, thanks to a PR
by GeekosaurusR3x who added the initial support for this device. Thanks!</p>
<p>We have fixed an issue which was causing incorrect step and sleep count for
people in countries who use timezones with 30 minutes off …</p><p>Amazfit T-Rex Pro has been added to list of supported devices, thanks to a PR
by GeekosaurusR3x who added the initial support for this device. Thanks!</p>
<p>We have fixed an issue which was causing incorrect step and sleep count for
people in countries who use timezones with 30 minutes off the global timezone
grid, for example Afghanistan, Burma, India, Iran, Sri Lanka and
Venezuela. Users with Android 10 and higher can now utilize separate
notification channel for low battery warnings. And, some PineTime owners with
InfiniTime firmware who might have encountered an issue with firmware flashing
should not experience this problem any more thanks to improvements.</p>
<p>The previous 0.57.1 release has also included some great additions like
enhancements the recently added Mi Band 6, including firmware and watchface
flashing, Emoji support plus more and also Fossil Hybrid HR improvements. </p>
<p>Thanks everyone for your contributions!</p>
<p>For all user-facing changes since the previous blog post, check the following
list:</p>
<h3>0.58.0</h3>
<ul>
<li>Initial experimental support for Amazfit T-Rex Pro</li>
<li>InfiniTime: Try to fix firmware upgrade by fiddling with optimization rules</li>
<li>Huami: Fix lost samples bug with timezones that are have a 30 minute offset</li>
<li>Fossil Hybrid HR: Block dangerous intents by default and move some settings to developer settings submenu</li>
<li>Improved logging in bonding and tried to recover from weirdness</li>
<li>Use a separate notification channel for low battery warnings</li>
</ul>
<h3>0.57.1</h3>
<ul>
<li>Mi Band 6: Add Pomodoro to menu items</li>
<li>Mi Band 6: Support flashing firmware, res and watchfaces</li>
<li>Mi Band 6: Enable Unicode Emoji support</li>
<li>Fossil Hybrid HR: Move commute actions to device specific settings</li>
<li>Fossil Hybrid HR: Use Gadgetbridge App Manager (same as Pebble), allowing quick switching of watchfaces and caching apps for later re-(installation)</li>
<li>Huami: Send changed weight, birthday and height data to watch immediately</li>
<li>Use flexbox layout for icons in device cards, allowing line breaks for small phones</li>
</ul>Gadgetbridge 0.57.0: Initial limited Mi Band 6 support, Huami fixes2021-05-18T00:00:00+02:002021-05-18T00:00:00+02:00Andreas Shimokawatag:blog.freeyourgadget.org,2021-05-18:/release-0_57_0.html<p>Thanks to a PR, we recently merged, Gadgetbridge 0.57.0 is the first release
which supports the new Mi Band 6. We call support limited, since it does not
yet support flashing the firmware or watchfaces and not everything is tested
yet. But thanks to your donations we were …</p><p>Thanks to a PR, we recently merged, Gadgetbridge 0.57.0 is the first release
which supports the new Mi Band 6. We call support limited, since it does not
yet support flashing the firmware or watchfaces and not everything is tested
yet. But thanks to your donations we were able to order one, which will (once it
arrives) enable us to test and improve device support!</p>
<p>This release also fixes flashing watchfaces on GTR2/GTS2 and probably other
newer Huami devices, and adds support for flashing the new AGPS bundles which seem
to be mandatory for GTR/GTS/GTR2/GTS2/Bip S with updated firmware versions.
While you previously had to flash the GPS almanac and CEP files, with the
new bundle format (UIHH), it is possible to flash all needed AGPS files in
one go. To obtain the files, we recommend using
<a href="https://codeberg.org/vanous/huafetcher">huafetcher</a>. If you want to play
with alternative solutions, we also published code which packs UUIH AGPS
bundles <a href="https://codeberg.org/Freeyourgadget/Gadgetbridge-tools">here</a>. </p>
<p>Since Gadgetbridge 0.56.2 also was a huge release without blog post, we would like to
mention the changes regarding the Fossil Hybrid HR in the last release!</p>
<p>Arjan Schrijver contributed two huge additions for the Fossil Hybrid HR: The
possibility to reject incoming calls via SMS, a feature previously only
available for the Pebble. Arjan also added support for syncing application
icons to the watch - meaning that the watch will actually show a down-scaled
gray-scale icon of any app (which looks fantastic for the Element app).</p>
<p>Thanks everyone for your contributions!</p>
<p>For all user-facing changes since the previous blog post, check the following
list:</p>
<h3>0.57.0</h3>
<ul>
<li>Initial limited support for Mi Band 6</li>
<li>Amazfit GTR2/GTS2: Fix for flashing watchfaces</li>
<li>Amazfit GTR/GTS/GTR2/GTS2/Bip S: Allow flashing AGPS bundles</li>
<li>Amazfit Neo: Add lift wrist setting</li>
<li>Fossil Hybrid HR: Restructure settings menus for calibration, file management and physical buttons</li>
<li>Fossil Hybrid HR: Hide old settings on newer firmwares</li>
<li>Improved PineTime/InfiniTime firmware DFU metadata parsing and checks</li>
</ul>
<h3>0.56.2</h3>
<ul>
<li>Amazfit GTR2: Improve firmware update support (still partly broken)</li>
<li>Amazfit GTR2/GTS2: Prevent emoji transliterating (Seems to support emoji)</li>
<li>Amazfit GTS2/GTR2: Fixes for setting menu items (Probably still partly broken)</li>
<li>Amazfit GTS2/GTR2: Send wind speed and sunrise/sunset</li>
<li>Fossil Hybrid HR: Send actual application icons for notification on the watch</li>
<li>Fossil Hybrid HR: Support dismissing incoming calls with a quick SMS reply</li>
<li>Huami: Remove unused calendar slots</li>
<li>Huami: Send wind speed in Beaufort for some devices</li>
<li>InfiniTime: Add support for battery info</li>
<li>InfiniTime: Support title for notifications on firmware 0.15</li>
<li>InfiniTime: Implement find device by simulating a phone call</li>
<li>Adjust Steps Charts steps values offset to account for large phone screen sizes</li>
<li>Make Activity Charts dates move as calendar months and to go to now if jumping past today</li>
<li>Make Battery Info time span jump as calendar months and not as days</li>
</ul>Gadgetbridge 0.56.1: Many improvements in support for Amazfit Neo and an official Mastodon account2021-04-07T00:00:00+02:002021-04-07T00:00:00+02:00Petr Vaněktag:blog.freeyourgadget.org,2021-04-07:/release-0_56_1.html<p>This release is mainly containing culmination of work done on support for the
Amazfit Neo. That includes support for firmware updating, notifications and
also settings. Do note, that after updating the device to 1.1.2.52 with
Gadgetbridge, there might be a strange connection issue. What you can do …</p><p>This release is mainly containing culmination of work done on support for the
Amazfit Neo. That includes support for firmware updating, notifications and
also settings. Do note, that after updating the device to 1.1.2.52 with
Gadgetbridge, there might be a strange connection issue. What you can do is:
keep the watch in Gadgetbridge but remove it from paired devices in Android,
then re-add again in Gadgetbridge (although it was still there).</p>
<p>We have enabled ongoing notifications for two popular FLOSS sports tracking
apps, <a href="https://f-droid.org/packages/de.dennisguse.opentracks/">OpenTracks</a> and
<a href="https://f-droid.org/en/packages/de.tadris.fitness/">FitoTrack</a>. This allows
you to observe notifications of an ongoing activity tracked by these apps right
on your wrist. Normally, we block ongoing notifications because these could be
emitted many times per second and thus cause fast battery drain and also other
possible issues. It is therefore recommended to set the
<code>Settings</code> → <code>Minimum time between notifications</code> to a few seconds.
You can of course always block notifications of these apps completely via the
regular <code>Notification blacklist</code>.</p>
<p>We have created an official mastodon account for Gadgetbridge, you can check it
out and follow on
<a href="https://social.anoxinon.de/@gadgetbridge">https://social.anoxinon.de/@gadgetbridge</a>.</p>
<p>For all user-facing changes since the previous blog post, check the following
list:</p>
<h4>0.56.1</h4>
<ul>
<li>Fossil Hybrid HR: Fix compatibility for older firmware revisions</li>
<li>Amazfit Neo: Implement firmware update</li>
<li>Amazfit Neo: Support setting all menu items and fix menu cycling bug</li>
<li>Amazfit Neo: Fix notifications</li>
<li>Amazfit Neo: Support sound settings</li>
<li>Allow OpenTracks and FitoTrack to send ongoing notifications</li>
<li>Make transliteration a per-device setting</li>
</ul>Gadgetbridge 0.56: UM25 voltage meter support, Fossil Hybrid HR improvements and more!2021-03-17T00:00:00+01:002021-03-17T00:00:00+01:00Andreas Shimokawatag:blog.freeyourgadget.org,2021-03-17:/release-0_56_0.html<p>Only one week between releases - and again thanks to contributors, still an
impressive changelog. We are currently waiting for F-Droid to sign and publish.</p>
<h2>HM25 voltage meters</h2>
<p>Daniel Dakhno has contributed initial support for HM25 voltage meters. This
was a longstanding PR which we almost forgot about, sorry and thanks …</p><p>Only one week between releases - and again thanks to contributors, still an
impressive changelog. We are currently waiting for F-Droid to sign and publish.</p>
<h2>HM25 voltage meters</h2>
<p>Daniel Dakhno has contributed initial support for HM25 voltage meters. This
was a longstanding PR which we almost forgot about, sorry and thanks,
Daniel!</p>
<h2>Fossil Hybrid HR improvements</h2>
<p>Arjan Schrijver has contributed various improvements for Fossil HR specific
code, like fixing missing menu headers in Gadgetbridge and disabling feature
that cannot be used on later firmware revisions.</p>
<p>One of the big improvements - tracking and syncing of dismissed notification
was actually generic code which also became a feature for the pebble! We had
that kind of feature long ago, but is was broken and disabled. Arjan's take
seems to work much better. If it leads to problems or is not wanted, it can
always be disabled - per device.</p>
<h2>Work around permission problems</h2>
<p>Many users could not install firmwares from some file managers, with this
release many of those problems should be resolved by using
requestLegacyExternalStorage. This is probably something that needs more
proper fixing in the future, but a workaround is better than nothing ;)</p>
<p>For all user-facing changes since the previous blog post, check the following
list:</p>
<h4>0.56.0</h4>
<ul>
<li>Initial support for UM25 voltage meters</li>
<li>Pebble: Remove read/dismissed notifications on watch (can be disabled)</li>
<li>Fossil Hybrid HR: Remove read/dismissed notifications on watch (can be disabled)</li>
<li>Fossil Hybrid HR: Fixes for running firmware DN1.0.2.20 or newer (disable widget features, currently not supported)</li>
<li>Fossil Hybrid HR: Fix up/back navigation and add titles to Fossil specific menus</li>
<li>Huami: Fix displaying title for calendar events</li>
<li>Use requestLegacyExternalStorage in manifest to fix file access problems in some Android 10 roms</li>
<li>Add header and chart to each activity in Activity list</li>
</ul>Gadgetbridge 0.55. Better InifiTime support, new features for all devices2021-03-11T00:00:00+01:002021-03-11T00:00:00+01:00Andreas Shimokawatag:blog.freeyourgadget.org,2021-03-11:/release-0_55_0.html<p>This is the first in many releases without any new Huami/Xiaomi device
supported, but still deserved a version bump from 0.54.x to 0.55.0, as we
added multiple new device independent features!</p>
<h2>Battery logging</h2>
<p>People were wondering how their battery discharges over time, so we started …</p><p>This is the first in many releases without any new Huami/Xiaomi device
supported, but still deserved a version bump from 0.54.x to 0.55.0, as we
added multiple new device independent features!</p>
<h2>Battery logging</h2>
<p>People were wondering how their battery discharges over time, so we started
logging it since release 0.54. There was just no finished graph to show the
discharge over time. This is now ready for release and part of 0.55.0. Just
tap on the battery icon in the main activity (aka "control center") and have
a look!</p>
<h2>Activity list dashboard summary calculation</h2>
<p>In the activity list inside the charts activity, there is a new summary
button, which shows aggregated statistics over a configurable time. You might
find this useful to compare your activity over different time spans and keep you
motivated to even improve ;)</p>
<h2>InfiniTime</h2>
<p>As the popular InfiniTime firmware for the PineTime matures and adds new
features, we try to support those new features in a timely manner. This time
we added Support for call control and incoming call notification. Make sure
to update your PineTime firmware regularly, which is possible though
Gadgetbridge ;)</p>
<p>For all user-facing changes since the previous blog post, check the following
list:</p>
<h4>0.55.0</h4>
<ul>
<li>InfiniTime: Fix music control for newer firmware releases</li>
<li>InfiniTime: Support call control and notification</li>
<li>Sony SWR12: Fix broken support since 0.53.0</li>
<li>Wasp-OS: Fix crash on Android 7 and lower</li>
<li>Add activity list dashboard summary calculations</li>
<li>Add battery level logging and graph activity</li>
<li>Use distinct icons for total step and distance values in widget</li>
<li>Flip and scale GPX canvas</li>
<li>Try to fix call notification on outgoing VoIP calls</li>
</ul>Gadgetbridge releases 0.53.0, 0.54.0 and 0.54.1: Initial support for even more Amazfit devices, Zepp E and Wasp-os2021-02-25T00:00:00+01:002021-02-25T00:00:00+01:00Petr Vaněktag:blog.freeyourgadget.org,2021-02-25:/release-0_54_1.html<p>First month of the new year 2021 has delivered tons of new devices. We are
happy to see new people stepping up and providing the initial support for these
watches:</p>
<ul>
<li>Wasp-os - Daniel Thompson</li>
<li>Amazfit Neo - xaos</li>
<li>Amazfit GTS 2 Mini - Andreas Shimokawa</li>
<li>Huami Zepp E - Andrew Watkins</li>
<li>Amazfit GTR 2e …</li></ul><p>First month of the new year 2021 has delivered tons of new devices. We are
happy to see new people stepping up and providing the initial support for these
watches:</p>
<ul>
<li>Wasp-os - Daniel Thompson</li>
<li>Amazfit Neo - xaos</li>
<li>Amazfit GTS 2 Mini - Andreas Shimokawa</li>
<li>Huami Zepp E - Andrew Watkins</li>
<li>Amazfit GTR 2e - Jochen S</li>
<li>Amazfit GTS 2e - Andreas Shimokawa</li>
<li>Amazfit X - Stefan Bora</li>
</ul>
<p>Many thanks to all contributors!</p>
<p>While new devices' support is flowing in, this doesn't mean that all features
and functions of these newly added devices are working, but the initial support
typically already provides many important aspects required for day to day
usage. It also offers a very convenient way to look at these devices in more
detail and help to improve their support further. These Gadgetbridge releases
(0.53.0, 0.54.0 and 0.54.1) also contain many small and big fixes and
improvements all over the place :).</p>
<p>We are super happy to see a wasp-os in the list of supported devices, added by
Daniel Thompson himself. <a href="https://github.com/daniel-thompson/wasp-os">Wasp-os</a>
(Watch Application System in Python) is an open-source firmware for smart
watches that are based on the nRF52 family of micro controllers. Currently this
includes the hacker friendly PineTime from Pine64, the Senbono K9 as well as
the Colmi P8, which is a popular device with watch modders.</p>
<p>There have been many improvements done to the Fossil HR thanks to ongoing work
by Daniel Dakhno. It is an interesting piece of hardware and software, which to
some extend provides similar feature set known from the Pebble. Ongoing
development has been focusing on support in Gadgetbridge but also on the
recently introduced app ecosystem of this watch, which is now in early stage
provided by the <a href="https://github.com/dakhnod/Fossil-HR-SDK">Fossil HR SDK</a>.</p>
<p>For those tracking their sports results in Gadgetbridge, imperial units
settings is now honored in the Widget, Activity list and Sports Workouts. We
have also added a small improvement when exporting a GPX track recording,
allowing <a href="https://opentracksapp.com/">OpenTracks</a> to not duplicate these
exports.</p>
<p>For all user-facing changes since the previous blog post, check the following
list:</p>
<h4>0.54.1</h4>
<ul>
<li>Amazfit GTS2e: Really fix broken support</li>
<li>Amazfit Bip S Lite: Fix broken support (probably)</li>
</ul>
<h4>0.54.0</h4>
<ul>
<li>Initial support for Amazfit X</li>
<li>Fix missing menu items for GTS 2 Mini (some improvements also for other GTR2/GTS2 models) </li>
<li>Amazfit GTS2e: Fix broken support</li>
</ul>
<h4>0.53.0</h4>
<ul>
<li>Initial support for wasp-os on nRF52 devices</li>
<li>Initial support for Zepp E</li>
<li>Initial support for Amazfit GTS 2 Mini</li>
<li>Initial support for Amazfit Neo</li>
<li>Initial support for Amazfit GTR/GTS 2e</li>
<li>Fossil Hybrid HR: Fix bug with unknown data</li>
<li>Fossil Hybrid HR: allow app management on watch from GB</li>
<li>Fossil Hybrid HR: enumerate apps on watch on every connect</li>
<li>Fossil Hybrid HR: Do not configure buttons in unauthenticated mode</li>
<li>Fossil Classic: Fix unknown wearing state</li>
<li>Fossil Classic: Allow synchronizing activity data</li>
<li>Amazfit Bip U: Fix sports activity summary</li>
<li>Huami: Add Strength Training activity type</li>
<li>Honor Imperial units settings in widget, Activity list and workouts</li>
<li>Show all eligible devices in Widget Configuration Activity</li>
<li>Also include step of not-worn samples in weekly step statistics</li>
</ul>Adding battery info screen to Gadgetbridge2021-02-08T00:00:00+01:002021-02-08T00:00:00+01:00Petr Vaněktag:blog.freeyourgadget.org,2021-02-08:/adding_battery_stats.html<p>This is a short article to document a process of adding a fairly simple feature
to Gadgetbridge. This article is intended to newcomers wanting to participate
in Gadgetbridge development who do have some understanding of programming in
Java for Android (in Android Studio). Written by a fellow novice programmer in …</p><p>This is a short article to document a process of adding a fairly simple feature
to Gadgetbridge. This article is intended to newcomers wanting to participate
in Gadgetbridge development who do have some understanding of programming in
Java for Android (in Android Studio). Written by a fellow novice programmer in
the Android Java ecosystem, it hopes to serve as a basic introduction to some
of the concepts used in the Gadgetbridge codebase. There is more information in
our <a href="https://codeberg.org/Freeyourgadget/Gadgetbridge/wiki/">wiki</a>, like the
<a href="https://codeberg.org/Freeyourgadget/Gadgetbridge/wiki/Developer-Documentation">Developer
documentation</a>
and if you are looking for an advice how to add a new device support into
Gadgetbridge, there is a comprehensive <a href="https://codeberg.org/Freeyourgadget/Gadgetbridge/wiki/New-Device-Tutorial">New device
tutorial</a>.</p>
<h2>Introduction</h2>
<p>Gadgetbridge has been showing the wearable device's battery level and low
battery warning almost forever since it's beginning. What we want to add is a
screen showing us a graph of battery level over time + maybe even some more
known details about the battery itself if the device provides it.</p>
<p>First, we need to do some digging and find out how Gadgetbridge knows about
device battery stats. This is the first biggest hold-up, because getting
familiar with the codebase does take some time but is an essential part of the
process. Do spend some time digging through the code to understand the
patterns, packages and code layout.</p>
<h2>Hooking into device events</h2>
<p>Where do we begin... searching in files <em><em>Ctrl-Shift-F</em></em> for <em><em>battery</em></em> sounds
like a good place to start for us, but it is a bit too vague, so we try
searching for <em><em>battery low</em></em>, since we know this can come up in the
notification. We get some strings in the strings.xml, so let's find a usage of
one of them, <code>notif_battery_low_title</code> via same global search in files. One of
the places where this is used is <code>handleGBDeviceEvent(GBDeviceEventBatteryInfo
deviceEvent)</code> in <code>AbstractDeviceSupport</code>. This seems to be a good hit, because
if we look at usage of this method via <em><em>Ctrl-B</em></em>, we can see it being used in
most if not all of the implemented devices. This final method is a good place
where we can catch the event of getting battery info as it is received from the
device. Here, we can hook our routine to store this data into database. We can
also note and explore a bit the <code>GBDeviceEventBatteryInfo</code> class used in the
<code>handleGBDeviceEvent(GBDeviceEventBatteryInfo deviceEvent)</code>, as it provides
more details about the battery, if a particular device supports that, for
example number of charges, last charge time and so on. </p>
<h2>Database</h2>
<p>To store the data, we need a database table. In Gadgetbridge, database access
is provided via <a href="https://github.com/greenrobot/greenDAO">greenDAO</a> - Object
Relational Mapper for Android. Tables are defined in
<code>src/nodomain/freeyourgadget/gadgetbridge/daogen/GBDaoGenerator.java</code> as
entities. In the <code>GBDaoGenerator</code> we define our entity, containing properties,
which are mapped to database columns. To store different data per device, we
must ensure to add mapping to our devices with the <code>addToOne(device,
deviceId)</code>. The above defined entities will be auto-generated in the
<code>nodomain.freeyourgadget.gadgetbridge.entities</code> package. Experiment as needed
but make sure to test your object model well and check logcat for error
messages, because the DAO can insert values to the database but still throw
errors if for example indexes are not set correctly.</p>
<p>After the table definition is done, we must also bump the database schema
version: <code>Schema schema = new Schema(VERSION, MAIN_PACKAGE + ".entities");</code>,
this is important for database migrations.</p>
<h2>Activity</h2>
<p>At this point, we are getting our battery data, are storing it into database
and would like to show a line chart showing battery level over time. To define
a new activity (screen), it is important to extend the <code>AbstractGBActivity</code>
because it will taking care of the theme (light and dark) language switching
and so on.</p>
<h2>Charts</h2>
<p>Gadgetbridge has several places where charts are already used, for that the
<a href="https://github.com/PhilJay/MPAndroidChart">MPAndroidChart</a> library is being
utilized. Some convenience classes are already defined and should be reused,
like the <code>AbstractChartFragment</code>, which is especially useful if you want to
show activity data like steps or heart rate.</p>
<h2>Logging</h2>
<p>When displaying log messages, never use the <code>e.printStacktrace()</code>. Either use
the predefined
<a href="https://codeberg.org/Freeyourgadget/Gadgetbridge/wiki/Developer-Documentation#logging">logger</a>
<code>private static final Logger LOG = LoggerFactory.getLogger(Your.class);</code>, or
you can also use the toast <code>GB.toast(getContext(), "Error doing xyz: " +
e.getMessage(), Toast.LENGTH_LONG, GB.ERROR, e);</code>, this will show the toast,
log the stacktrace in logcat and write the logs (if enabled).</p>
<h2>General advice</h2>
<ul>
<li>Make sure to auto-format the code you write, but leave existing code as is,
even if not formatted well, because formatting it would break existing PRs
and it also destroys information about the original author.</li>
<li>There are many convenience and utility classes already defined in
Gadgetbridge which should be re-used instead of defining again (for example
from the <code>nodomain.freeyourgadget.gadgetbridge.util</code> package). </li>
<li>Abstract classes definitions are very commonly used throughout and should
also be used where useful.</li>
<li>Pay attention to the warnings and suggestion Android Studio provides, in
general code and also in activity layouts. </li>
<li>Try and test your work diligently - there is no bug tracking code in
Gadgetbridge and if the app has issues or randomly crashes on some user
devices, there is no way to learn about it, unless people make the effort and
report it. If you have multiple Android phones, ideally test on them, to see
how different Android version behave, what different screen sizes and pixel
densities look like. </li>
<li>Also, do not forget to test in both light and dark theme.</li>
</ul>
<h2>Conclusion</h2>
<p>So this is it, a quick introduction to a very small portion of Gadgetbridge
internals. And where is our Battery info screen? Well, the initial code is
<a href="https://codeberg.org/Freeyourgadget/Gadgetbridge/commit/3e04778696d5946d7867ccc40ff25841188f9296">here</a>
and a picture is below, but it needs much more work, like better axis
formatting, moving between days... because like always, the small fine details
take 80% of the real work. I will keep working on it and it will be released
when ready :)</p>
<p><img src=/images/battery_info.png width=300></p>Gadgetbridge 0.52.0: Initial support for Amazfit Bip U Pro2021-01-17T00:00:00+01:002021-01-17T00:00:00+01:00Petr Vaněktag:blog.freeyourgadget.org,2021-01-17:/release-0_52_0.html<p>Christmas holidays was a good time to relax, recharge and take some time off.
After that, commits and pull requests started flowing in with various fixes and
improvements. One of the contributions has brought support for another variant
of Amazfit watches:</p>
<ul>
<li>Amazfit Bip U Pro contributed by DanialHanif - thank you …</li></ul><p>Christmas holidays was a good time to relax, recharge and take some time off.
After that, commits and pull requests started flowing in with various fixes and
improvements. One of the contributions has brought support for another variant
of Amazfit watches:</p>
<ul>
<li>Amazfit Bip U Pro contributed by DanialHanif - thank you! </li>
</ul>
<p>Also the Amazfit GTS2, which was previously supported in theory but was
practically unusable due to a pairing bug, should now work properly.</p>
<p>For some reason, data in <a href="https://f-droid.org/en/packages/ru.gelin.android.weather.notification/">Weather notification</a>
sometimes provides incomplete data, which resulted in weather updates not being
sent at all to the smart device. This behavior is now handled properly in this
Gadgetbridge release.</p>
<p>Do Not Disturb should now allow priority notifications to go through.
Improvements have been done to the pairing flow for devices requiring a key
during the bonding process, trying to be more verbose about potential errors,
and similar clarification improvements have been done in the Data Management
screen, making the data Export/Import process more obvious.</p>
<p>For all user-facing changes since the previous blog post, check the following
list:</p>
<h4>0.52.0</h4>
<ul>
<li>Amazfit Bip U Pro: Initial support</li>
<li>Amazfit GTS2: fix pairing</li>
<li>Amazfit GTS/GTR2: Fix incoming call display</li>
<li>Fossil Hybrid HR: avoid unnecessary widget rendering</li>
<li>A lot of Data(base) Management screen clarifications and improvements</li>
<li>Fix a crash when when forecastConditionType length is 0 in weather notification data</li>
<li>Change Do Not Disturb support to allow priority notifications</li>
<li>Fix problems when pairing some devices which require a pin to be entered</li>
</ul>Gadgetbridge 2020: year in review and numbers2020-12-31T00:00:00+01:002020-12-31T00:00:00+01:00Petr Vaněktag:blog.freeyourgadget.org,2020-12-31:/gadgetbridge_2020_year_in_review_and_numbers.html<p>This has been a very busy but good year for Gadgetbridge, with 21 releases
since January 2020. It has been the first year after we have migrated to
<a href="https://codeberg.org">Codeberg</a>. One of the possible concern of the move has
been smaller visibility and loss of contributors, but opposite turned out to …</p><p>This has been a very busy but good year for Gadgetbridge, with 21 releases
since January 2020. It has been the first year after we have migrated to
<a href="https://codeberg.org">Codeberg</a>. One of the possible concern of the move has
been smaller visibility and loss of contributors, but opposite turned out to be
true. The visible favorite "star" data is of course lower - the previously
reached star numbers on the GitHub hosting went into several thousands (3600
stars), with 200 watchers and 627 forks and current data on Codeberg shows
smaller numbers after the first year: <a href="https://codeberg.org/Freeyourgadget/Gadgetbridge/stars">173
stars</a>, <a href="https://codeberg.org/Freeyourgadget/Gadgetbridge/watchers">22
watchers</a> and <a href="https://codeberg.org/Freeyourgadget/Gadgetbridge/forks">86
forks</a>, but we did have
larger engagement and number of contributors. Big thank you to everybody being
involved with Gadgetbridge now or any time before!</p>
<h2>Commits, contributors and changed files</h2>
<p>Here is a compiled table for numbers for all the years of the project:</p>
<table class="table table-striped">
<thead>
<tr>
<th>Year</th>
<th>Files changed</th>
<th>Commits</th>
<th>Contributors</th>
</tr>
</thead>
<tbody>
<tr>
<td>2020</td>
<td>1304</td>
<td>1395</td>
<td>121</td>
</tr>
<tr>
<td>2019</td>
<td>805</td>
<td>933</td>
<td>107</td>
</tr>
<tr>
<td>2018</td>
<td>615</td>
<td>848</td>
<td>120</td>
</tr>
<tr>
<td>2017</td>
<td>597</td>
<td>1005</td>
<td>67</td>
</tr>
<tr>
<td>2016</td>
<td>421</td>
<td>1138</td>
<td>30</td>
</tr>
<tr>
<td>2015</td>
<td>303</td>
<td>970</td>
<td>14</td>
</tr>
</tbody>
</table>
<details>
<summary>Table was generated with this script (click to see).</summary>
<div class="highlight"><pre><span></span><code> <span class="c1">#!/bin/bash</span>
<span class="nv">COMMITS</span><span class="o">=</span><span class="s2">"2020 71ab859c921a3352dc2ad17db2ddb187539510ab</span>
<span class="s2"> 2019 cf870bff8a94b006b4a12b075ba24a1015b865bd</span>
<span class="s2"> 2018 d570ee864d94d74a8b734a93f1abce3995a71569</span>
<span class="s2"> 2017 1722a6dc47aeb66fe7f1bb10c5cde931279eabb2</span>
<span class="s2"> 2016 50cd5b26294c38578077b6ad7e16b88b643711c1</span>
<span class="s2"> 2015 8dd67b146d09801ae2be20ae818daa92995ec6ad"</span>
<span class="nv">end</span><span class="o">=</span><span class="s2">"f9e6624646"</span>
<span class="c1">#files changed: git diff 20cf15d91f...master --shortstat | awk -F " " '{print $1}'</span>
<span class="c1">#commits: git rev-list 20cf15d91f...master | wc -l</span>
<span class="nb">echo</span> <span class="s2">"|Year|Files changed|Commits|Contributors|"</span>
<span class="nb">echo</span> <span class="s2">"|--|--|--|--|"</span>
<span class="nv">IFS</span><span class="o">=</span><span class="s1">$'\n'</span>
<span class="k">for</span> LINE in <span class="nv">$COMMITS</span>
<span class="k">do</span>
<span class="nv">year</span><span class="o">=</span><span class="sb">`</span><span class="nb">echo</span> <span class="nv">$LINE</span> <span class="p">|</span> awk <span class="s1">'{print $1}'</span><span class="sb">`</span>
<span class="nv">start</span><span class="o">=</span><span class="sb">`</span><span class="nb">echo</span> <span class="nv">$LINE</span> <span class="p">|</span> awk <span class="s1">'{print $2}'</span><span class="sb">`</span>
<span class="nv">files</span><span class="o">=</span><span class="sb">`</span>git diff <span class="nv">$start</span>...<span class="nv">$end</span> --shortstat <span class="p">|</span> awk -F <span class="s2">" "</span> <span class="s1">'{print $1}'</span><span class="sb">`</span>
<span class="nv">commits</span><span class="o">=</span><span class="sb">`</span>git rev-list <span class="nv">$start</span>...<span class="nv">$end</span> <span class="p">|</span> wc -l<span class="sb">`</span>
<span class="nv">commiters</span><span class="o">=</span><span class="sb">`</span>git log <span class="nv">$start</span>...<span class="nv">$end</span> --pretty<span class="o">=</span>oneline --format<span class="o">=</span><span class="s1">'%aN'</span> <span class="p">|</span> sort <span class="p">|</span> uniq <span class="p">|</span> wc -l<span class="sb">`</span>
<span class="nv">end</span><span class="o">=</span><span class="nv">$start</span>
<span class="nb">echo</span> <span class="s2">"| </span><span class="nv">$year</span><span class="s2"> | </span><span class="nv">$files</span><span class="s2"> | </span><span class="nv">$commits</span><span class="s2"> | </span><span class="nv">$commiters</span><span class="s2"> |"</span>
<span class="k">done</span>
</code></pre></div>
</details>
<p>It takes some time to understand Gadgetbridge codebase but we are happy to see
so many new people being able to do so. In order to make the process easier,
documentation has gradually been improved and the <a href="https://codeberg.org/Freeyourgadget/Gadgetbridge/wiki/New-Device-Tutorial">new device
tutorial</a>
has over time become a good guide for anyone with some coding skills, willing
to add new device support into Gadgetbridge.</p>
<h2>Pull requests</h2>
<p>As for merge/pull requests it is a bit harder to compare, Codeberg <a href="https://codeberg.org/Freeyourgadget/Gadgetbridge/activity/yearly">shows
us</a> 149
merged pull requests this year. The data of contributors and commits between
what the Gitea web interface shows for PRs and what git tells us are a bit
different, but we go with what we have.</p>
<h2>Issues</h2>
<p>We have 515 currently opened issues in total and many of them stalled, but they
contain interesting suggestions, ideas, research, device requests and more, and
although "closed issue is still there", somehow we prefer not to close the
stalled ones. About 294 of these issues are active. We have closed 162 issues
with 132 new issues open in 2020, which is at least a positive trend, leading
to a smaller number of open issues.</p>
<h2>Contributors and active users</h2>
<p>Contributors and active users are the main asset of any project and we are
happy to see new people stepping up and contributing with code, which is the
most lacking resource we have, as it is a bit easier to help with translations,
documentation or bug reports. 132 people have contributed this year and these
are people who made a contribution visible via git (code, translation and
wiki), but there are also people helping with reporting bugs, managing issues
and so on and we are thankful for all their help.</p>
<p>The Matrix chatroom available via
<a href="https://app.element.io/#/room/#gadgetbridge:matrix.org">Element</a> has also been
a nice addition, allowing questions, chats and interaction outside of the issue
tracker, currently hosting 220 people. Some people do not prefer the
"encryption on" by default, causing some limited visibility of past
conversations, but given the
<a href="https://blog.freeyourgadget.org/category/dmca.html">history</a>, we are happy
with this approach.</p>
<p>One of our biggest concerns has been the gradual decline of contributions from
some members of the core team, which has been a big loss. It seems, however,
that over time we have been able to gain few permanent helpers and also some
drive-by contributors. Hopefully some of them will stick with us for longer
time :)</p>
<p>Documentation in <a href="https://codeberg.org/Freeyourgadget/Gadgetbridge/wiki">wiki</a>
has seen many improvements and is a good entry way for any new potential
contributors with their first commits.</p>
<p>To make sure we acknowledge all 132 contributors (including wiki editors) of
the year 2020, here is a complete list, alphabetically sorted:</p>
<p>115ek, Abdullah Manaz, Adolfo Jayme Barrientos, AiLab, Ainārs, Alex, Allan
Nordhøy, Andreas Böhler, Andreas Shimokawa, Andrzej Surowiec, Andy Yang,
Anonymous, Artem, Asbesbopispa, Baka Gaijin, Bot, C0rn3j, CE4, Cristian Alfano,
Daniel Dakhno, Deactivated Account, Deixondit, Deril, Dmitriy Bogdanov, Dmitry
Markin, Dmytro Bielik, Fabio Parri, Florian Beuscher, FransM, Full Name, Gleb
Chekushin, Gordon Williams, Hanhan Husna, HenRy, HugoGEORGET, Igor Polyakov,
Izzy, J. Lavoie, JF, Jeannette L, Julian Lam, Kintu, KopfKrieg, License Bot,
LizardWithHat, Louis-Marie Croisez, Luis zas, Maciej Kuśnierz, Mamut, Marco
Alberto Diosdado Nava, Mario, Mario Rossi, Mattherix, Maxim Baz, Memiks,
Michael, Michal L, Milo Ivir, Mirko Covizzi, Nathan, Nee Sorry, NicoBuntu,
Nikita Epifanov, Nikolai Sinyov, Nur Aiman Fadel, Ondřej Sedláček, Oğuz Ersen,
Pander, Pauli Salmenrinne, Pavel, Rafael Fontenelle, Rajesh Kumbhakar, Retew,
Roxystar, Samuel Carvalho de Araújo, Saul Nunez, Sebastian Espinosa, Sebastian
Obrusiewicz, SnowCat, Szylu, Taavi E, TaaviE, Ted Stein, TinfoilSubmarine, Toby
Murray, Unixware, Vincèn PUJOL, Vladislav Glinsky, Vytenis, Yaron Shahrabani,
Yukai Li, Zhong Jianxin, andyboeh, angelpup, anonaii, anonymous, bride_salon,
ce4, chabotsi, cpfeiffer, dakhnod, fparri, frederic lesur LESUR Frederic,
hackoder, homocomputeris, ildar, izzy, ksiwczynski, luca sain, lucanomax,
m-p{3}, mamutcho, marclaporte, marco.altomonte, mkusnierz, mondstern,
nautilusx, odavo32nof, opavlov, pangwalla, postsorino, rababerladuseladim,
rffontenelle, ssantos, t-m-w, taras3333, vanous, vishnu, xaos, zsolt3991,
Étienne Deparis, 陈少举 </p>
<details>
<summary>List was generated with this command (click to see).</summary>
<div class="highlight"><pre><span></span><code><span class="err">#in Gb repo:</span>
<span class="err">git log 71ab859c921a3352dc2ad17db2ddb187539510ab...master --pretty=oneline --format='%aN' | sort | uniq</span>
<span class="err">#in wiki repo:</span>
<span class="err">git log b735016...master --pretty=oneline --format='%aN' | sort | uniq</span>
</code></pre></div>
</details>
<h2>Past and the Future</h2>
<p>Work in 2020 has brought support for 15 new devices: JYou Y5, iTag, Fossil
Hybrid HR, WatchX(Plus), TLW64, Mi Band 5, Pinetime-JF Infinitime, Sony SWR12
bands, Lefun Smart Bands, Nut, Amazfit Bip S Lite, Amazfit GTR 2/GTS 2, Casio
GBX-100, Amazfit Bip U and Amazfit Verge Lite. We are happy to see some open
source, open hardware watches finally entering the market and gradually
becoming more useful, starting to compete with commercial offerings. Several
parts of Gadgetbridge have been reworked including Bluetooth pairing, Sports
Activities parsing and displaying, Daily activities, user settings, we gained
some more automation possibilities of reacting to button and device events,
cleaned up and converted to vector format many icons, fixed many bugs... as per
our regular <a href="https://blog.freeyourgadget.org/">blog posts</a>.</p>
<p>As for the future and what are the plans for Gadgetbridge are, it would be best
to hear from our users and even more from people who can contribute changes
they would like to see implemented in Gadgetbridge. Also, there are several
tasks that need to be tackled related to Android 10/11 changes in permissions
so we would be happy to accept contribution in this direction.</p>
<p>We thank you for all your support and hope for another good year while keeping
the main promises of Gadgetbridge: Your data about you stays yours. Your
conversations forwarded as notifications aren't going anywhere else.</p>Gadgetbridge 0.51.0: Amazfit Bip U, Amazfit Verge Lite2020-12-22T00:00:00+01:002020-12-22T00:00:00+01:00Andreas Shimokawatag:blog.freeyourgadget.org,2020-12-22:/release-0_51_0.html<p>We do not know why Huami releases so many new devices every year. These have
become too much to buy all of them, but it is always nice to have pull
requests from the community, which happened for the Bip U and Verge Lite
during this cycle. Thank you!</p>
<p>But …</p><p>We do not know why Huami releases so many new devices every year. These have
become too much to buy all of them, but it is always nice to have pull
requests from the community, which happened for the Bip U and Verge Lite
during this cycle. Thank you!</p>
<p>But there is a lot more to this release!</p>
<p>Apart from the usual bug fixes and tweaks, we overhauled the daily stats widget
completely which is now much better looking and more functional.</p>
<p>Also device code contributors have pushed improvements, most notably the Casio
GBX-100 and Bangle.js which now support activity data recording. </p>
<p>We hope this release will be in F-Droid before Christmas.</p>
<p>Since this might be the last blog post for 2020:</p>
<p>The Gadgetbridge team wishes Merry Christmas and a better new year that 2020
was for most of us!</p>
<p>For all user-facing changes since the previous blog post, check the following
list:</p>
<h4>0.51.0</h4>
<ul>
<li>Amazfit Bip U: Initial support</li>
<li>Amazfit Verge Lite: Initial Support</li>
<li>Amazfit T-Rex: Add missing menu items, remove non-existent</li>
<li>Amazfit Bip S: Fix crash with notifications with only a title (GitNex does this)</li>
<li>Casio GBX-100: Add step count data and more device settings</li>
<li>Fossil Hybrid Q: Support firmware upgrade</li>
<li>Bangle.js: Support for HRM and steps activity recording</li>
<li>Huami: Add new option to properly distinguish connected advertising and 3rd party hr exposure</li>
<li>Huami: Use blue icon instead of rainbow color icon for Signal (the rainbow icon was blue in early days)</li>
<li>Complete overhaul of the daily stats widget</li>
<li>Better error message for invalid authentication keys</li>
</ul>On building safe bridges2020-12-11T00:00:00+01:002020-12-11T00:00:00+01:00Petr Vaněktag:blog.freeyourgadget.org,2020-12-11:/on-building-bridges.html<p>Cool gadgets give us some really great possibilities, like tracking our
activities, controlling music and smart home devices, receiving notifications
and more. But in our strive for better, faster, lighter, smarter, cheaper... we
often forget the down side of our endeavors. Apps providing connections to our
devices do receive all …</p><p>Cool gadgets give us some really great possibilities, like tracking our
activities, controlling music and smart home devices, receiving notifications
and more. But in our strive for better, faster, lighter, smarter, cheaper... we
often forget the down side of our endeavors. Apps providing connections to our
devices do receive all our movement information, including precise location. We
have written about it <a href="why-gadgetbridge.html">previously</a>, in 2017. But maybe
you do not care about the details of your whereabouts being shared and only
care about your communication. And your communication with friends and family
is surely safe with secure apps that have become widely popular, right? But
unfortunately, every notification that is forwarded to your smart bracelet even
though you received it from some very secure, end to end encrypted app like
Matrix or Signal, has been seen by the bracelet's companion app. These are
closed source applications provided mostly by the vendor of the gadget and it
is only up to the vendor to decide if they send these conversations to their
servers for further processing. It is now up to us to decide if we want to give
them fully detailed view into our lives.</p>
<p>So this is where Gadgetbridge comes in, of course, but it is important to
realize that it takes a substantial effort to keep things running correctly. To
ensure stable Bluetooth connection. To provide reliable firmware update system.
To collect and display daily activities in a user friendly way. To keep up with
firmware updates of all those supported watches and make sure stuff does not
break (too much). And also, to provide a safe bridge between the smart bracelet
and the phone, so notifications are not observed by other applications. For
these very reason, Gadgetbridge does not have any network access, in fact it
does not have network permission, so the Android system does not allow it to
have any network communication at all. And this is good - good for the safety,
good for the clear mind. Nice, clean, safe bridge between your phone and your
smart bracelet's app. Thanks to all currently active but also to all previously
very active developers for all the hard work!</p>
<p>But we must have even higher goals. People would like to not only collect their
own data, but they also want to use it, look at it, analyze it or share it - if
they want. So we should not only collect all the steps, activities hear
rates... we must also provide a way to export it to be able to use it on day to
day bases, easily. To share for example GPS information recorded on some
watches, Gadgetbridge does allow exporting GPX files of recorded sports
activities as files or as intents that other applications can use. Gadgetbridge
can also export full database of all collected stuff (steps, heart rate and so
on), together with all user preferences. But we must ensure that there are also
apps that can receive our data - we should build more connections between our
apps. Recently, the good folks at <a href="https://f-droid.org/packages/de.dennisguse.opentracks/">Open
Tracks</a> improved their
GPX input intent listener, providing yet another app that can directly receive
recorded GPS track shared by Gadgetbridge. They also worked hard to navigate
through the confusing landscape of Bluetooth Low Energy communication to be
able to accept data from heart rate sensor, enabled on the bracelet via
Gadgetbridge settings. Same heart rate data can now also be used with the
<a href="https://f-droid.org/packages/de.tadris.fitness/">FitoTrack</a>. The
<a href="https://infinitime.io/">InfiniTime</a> developers
<a href="https://infinitime.io/blog/2020-10/infinitime-0-9-0/">improved</a> music controls
and firmware updates, making a nice connection to Gadgetbridge. And we all
should keep looking around for improving things in our small islands of app
created silos and connect them with nice bridges. I strongly advice you to be
creative in your thinking, talk to the developers of your favorite apps and
propose ways for apps to keep talking to each other. No <strike>[hu]man</strike> app should be
an island.</p>Gadgetbridge 0.50.0: Initial support for Casio GBX-1002020-11-28T00:00:00+01:002020-11-28T00:00:00+01:00Petr Vaněktag:blog.freeyourgadget.org,2020-11-28:/release-0_50_0.html<p>This release comes just two weeks after the previous version bump, but brings a
support for a new device:</p>
<ul>
<li>Casio GBX-100 contributed by Andreas Böhler.</li>
</ul>
<p>Another important new feature in this release is support for flashing watchfaces
for the Amazfit/Mi Band 5. These devices support up to three custom …</p><p>This release comes just two weeks after the previous version bump, but brings a
support for a new device:</p>
<ul>
<li>Casio GBX-100 contributed by Andreas Böhler.</li>
</ul>
<p>Another important new feature in this release is support for flashing watchfaces
for the Amazfit/Mi Band 5. These devices support up to three custom watch faces
plus two factory ones.
Even though it looks easy then you know how, it took a lot of time and effort to
analyze and implement this correctly.</p>
<p>On the user interface side, the Sports Activities got their Dashboard view
revamped to better match the design of the recently added Activity List
Dashboard. And, utilizing all the work done on our new sortable type of
preference widget, the Charts Tabs can now be selectively enabled/disabled and
also arranged as preferred by each user, independently for each device.</p>
<p>Also, many important improvements, fixes and also translations have been
constantly flowing in thanks to much appreciated help of many contributors!</p>
<p>For all user-facing changes since the previous blog post, check the following
list:</p>
<h4>0.50.0</h4>
<ul>
<li>Initial support for Casio GBX-100</li>
<li>Mi/Amazfit Band 5: Support watchface installation</li>
<li>Mi Band 5: Add missing NFC menu item</li>
<li>Casio GB-5600B/GB-6900B: Add configurable disconnect notification</li>
<li>Casio: Add support for synchronizing profile settings</li>
<li>Fossil Hybrid HR: Keep widget values after widget reload</li>
<li>Improve Sports Activities dashboard and Filter</li>
<li>Bug fixes for notification removal</li>
<li>Allow to clear activity labels.</li>
</ul>Gadgetbridge 0.49.0: Lots of improvements - and even more Huami devices supported!2020-11-17T00:00:00+01:002020-11-17T00:00:00+01:00Petr Vaněktag:blog.freeyourgadget.org,2020-11-17:/release-0_49_0.html<p>Notes from under the bridge</p>
<p>Gadgetbridge 0.49.0 has been released, closing up yet another interesting
period of development.It is already available on F-Droid!</p>
<h3>New supported devices</h3>
<p>Initial support for few new Huami devices has been added:</p>
<ul>
<li>Amazfit Bip S Lite</li>
<li>Amazfit GTR 2/GTS 2</li>
</ul>
<p>Thanks to …</p><p>Notes from under the bridge</p>
<p>Gadgetbridge 0.49.0 has been released, closing up yet another interesting
period of development.It is already available on F-Droid!</p>
<h3>New supported devices</h3>
<p>Initial support for few new Huami devices has been added:</p>
<ul>
<li>Amazfit Bip S Lite</li>
<li>Amazfit GTR 2/GTS 2</li>
</ul>
<p>Thanks to contributors who own these devices and were able test and integrate
the required changes into Gadgetbridge. Adding a new without us having access
to the physical device can be hard, so any effort is appreciated.
To make new developer's lives easier, the <a href="https://codeberg.org/Freeyourgadget/Gadgetbridge/wiki/New-Device-Tutorial">New Device
Tutorial</a>
has been improved a lot, providing good guidance in adding a new device,
storing activity data and also providing preference interface and storage.</p>
<h3>Improvements for Fossil Hybrid HR and InfiniTime</h3>
<p>Thanks to contributor Daniel Dakhnod, the Fossil HR, among a lot of other small
improvements, now supports rejecting calls on the latest firmware again
(up tp DN1.0.2.19).</p>
<p>For PineTime(InfiniTime), Gadgetbridge 0.49.0 now also supports the latest 0.9.0
firmware.</p>
<h3>Sortable menu items</h3>
<p>One of the most requested feature has been the ability to sort menu items on
the bracelet. For the longest, Gadgetbridge was able to enable/disable menu
items, but did not provide sorting. The issue was not in the underlying device
support, but rather in Android widget library, which does not really have any
sortable list of items that can be toggled on/off and at the same time acted as
a source of data for the Android's Preferences Settings model. After several
research sessions, a suitable library was adopted. It is now very simple for
Gadgetbridge developers to use this sortable list in device
settings and by turn end users now have the ability to enjoy enabling and
sorting menu items and shortcuts on all Huami devices (except Mi Band 2).</p>
<h3>Activity views and charts</h3>
<p>The <strong>Sports Activity</strong> detail view got a simple GPS track drawing, together
with the ability to take a screenshot of the full page of this activity. Not
only it is nice to be able to share the complete screen with detailed activity
data, chart of activity and heart rate plus the GPS view, but at the same time,
Android top bar menu icons are not included, adding slightly more privacy to
the shared image.</p>
<p><a href="https://codeberg.org/Freeyourgadget/Gadgetbridge/wiki/Sports-Activities-Workouts">Sports
Activities</a>
are parts of the day that are explicitly recorded by the user, but many times,
this recording is an extra effort. To be able to overcome this limitation, a new
<a href="https://codeberg.org/Freeyourgadget/Gadgetbridge/wiki/Activity-Sessions-List">Activity
List</a>
has been added to Gadgetbridge
<a href="https://codeberg.org/Freeyourgadget/Gadgetbridge/wiki/Activity-and-Sleep-Charts">Charts</a>
. Under the hood it goes through the recorded data and
searches for active periods from your day. Parameters for how these sessions are
determined can be adjusted in Charts → Preferences → <a href="https://codeberg.org/Freeyourgadget/Gadgetbridge/wiki/Activity-Sessions-List#user-content-activity-sessions">Activity
list</a>.
Today, we are pushing out a dashboard view for each day, which is calculating a
summary of all active parts of the day and also comparing it to your goals.
These goals have been in the menu: <code>Settings → About you</code> for a very long time
but have been used only occasionally throughout Gadgetbridge. It is always good
to set these values, because some bands require them for their internal
calculations. The Activity List makes use of data in this settings to draw
charts of your active steps, active time and distance, compared to your daily
goals. So make sure to <a href="https://codeberg.org/Freeyourgadget/Gadgetbridge/wiki/Activity-Sessions-List#user-content-activity-list-dashboard">adjust
them</a>. </p>
<h3>Intensity of activity</h3>
<p>One of the new items in Activity List but also in the Sleep charts is
<code>intensity</code>. It is an interesting value which typically does not surface as a
number, but in fact it has been used throughout Gadgetbridge charts a lot: the
green spikes on axis Y in activity charts? Intensity. The light and dark blue
spikes on axis Y in your sleep charts? Also intensity. It is a value
(normalized to a decimal between 0 and 1) that is representing a strength or an
intensity of your activity, as determined by the bracelet. At night, the more
you move, the higher this intensity is. During an activity or walk, the more
your arm moves, the number seems to go up. So it seems good to expose this
number even more, to be able to observe it, typically labeling it as <code>Movement
intensity</code>. The displayed result is not calculated as an average but rather as
a total sum of the intensity of a particular activity in activity list or in
your sleep. Hopefully you'll find it useful.</p>
<p>For all user-facing changes since the previous blog post, check the following list:</p>
<h4>0.49.0</h4>
<ul>
<li>Initial support for Amazfit Bip S Lite</li>
<li>Initial support for Amazfit GTR/GTS 2</li>
<li>Huami: allow sorting of shortcuts and menus (all except Mi Band 2)</li>
<li>Amazfit Band 5: Allow enabling SpO2 menu</li>
<li>Mi/Amazfit Band 5: Support shortcuts (right/left swipe)</li>
<li>Amazfit GTS: Fix firmware flashing on Firmware >=0.1.1.16</li>
<li>Amazfit GTR: Fix firmware flashing on Firmware >=1.3.7.16 or >=1.7.0.10</li>
<li>Amazfit GTR/GTS: Add missing settings menu item in preferences</li>
<li>Fossil Hybrid HR: Remove Android notifications when deleting them from the watch</li>
<li>Fossil Hybrid HR: Enable rejecting calls on newer firmwares</li>
<li>Fossil Hybrid HR: Support hands calibration</li>
<li>Fossil Hybrid HR: Support factory reset</li>
<li>InfiniTime: Improve notification support for firmware >=0.9</li>
<li>Add version to About screen</li>
<li>Show GPS track in Sport Activity detail screen</li>
<li>Add Activity List Dashboard/Summary view to charts</li>
<li>Add heart rate average to Activity and Sleep charts</li>
<li>Add intensity to Sleep charts</li>
<li>Recognize Wire messenger as a chat application</li>
<li>Add confirmation dialog for find device button</li>
</ul>Gadgetbridge 0.48.0: Three completely new devices supported2020-10-18T00:00:00+02:002020-10-18T00:00:00+02:00Petr Vaněktag:blog.freeyourgadget.org,2020-10-18:/release-0_48_0.html<p>Gadgetbridge 0.48.0 has been tagged and will appear on F-Droid soon! As always,
this can take a few days.</p>
<p>Six code contributors and twenty one translators have contributed more then 130
commits to the latest release of Gadgetbridge, bringing support for three new
devices:</p>
<ul>
<li>The Sony SWR12 bands …</li></ul><p>Gadgetbridge 0.48.0 has been tagged and will appear on F-Droid soon! As always,
this can take a few days.</p>
<p>Six code contributors and twenty one translators have contributed more then 130
commits to the latest release of Gadgetbridge, bringing support for three new
devices:</p>
<ul>
<li>The Sony SWR12 bands</li>
<li>Lefun Smart Bands</li>
<li>Nut</li>
</ul>
<p>The Nut devices use the Nordic firmware update protocol (DFU) by using the
official nordic library. This enabled us to also use it for other devices
like the like the PineTime (InfiniTime), and probably more devices in the
future. PineTime InfitiTime firmware's music control, being recently improved,
also got improved support in Gadgetbridge. All of the work mentioned in this
paragraph was contributed by Taavi Eomäe. Thanks Taavie!</p>
<p>A last minute change also adds experimental and untested support for the Amazfit
Band 5. If you have the device, please try it and report bugs!</p>
<p>On the Fossil Hybrid HR front, support for the latest firmware version was
added. For testing and debugging there is now a new activity that allows to send
and receive files from/to the watch, something you should only try if you know
what you are doing, as it might damage your watch, break your fonts or even
worse.</p>
<p>After recent regression, the Find your phone feature has been made working on
Android 10 again, thanks to previous work on Companion Device Manager pairing
support.</p>
<p>Sports Activities detailed view can now be shared as full screen picture,
including the intensity and heart-rate chart view. </p>
<p>We have also added initial support for list of activities for each day. These
are not based on recorded activities or GPS, but are detected by number of steps
and intensity, as recorded. Parameters of the detection can be tweaked in the
Charts Preferences. And, in order to calculate and display correct distance from
collected steps, step length has been added to the About You menu.</p>
<p>For all user-facing changes since the previous blog post, check the following
list:</p>
<h4>0.48.0</h4>
<ul>
<li>Initial support for Sony SWR12</li>
<li>Initial support for Lefun Smart Bands</li>
<li>Initial support for Nut devices</li>
<li>InfiniTime: Improved music support for latest firmware</li>
<li>Fossil Hybrid HR: Fixes and better support for newer firmwares</li>
<li>Fossil Hybrid HR: Debug activity for dumping and sending resources to the watch</li>
<li>Huami: Improve style of sports activity lists</li>
<li>Add sport activity list tab in charts</li>
<li>Allow sharing of sports activity summaries as image (full scroll view)</li>
<li>Weather: Fix wind speed and direction not being passed properly</li>
<li>Fix find your phone feature on Android 10 (need companion device pairing)</li>
</ul>
<h4>0.47.2</h4>
<ul>
<li>Amazfit Bip S: Send sunrise and sunset on latest firmware if enabled</li>
<li>Huami: Support new firmware update protocol (fixes firmware flashing with firmware 2.1.1.50/4.1.5.55 on Amazfit Bip S)</li>
<li>Huami: Allow flashing latest GPS firmware</li>
<li>InfiniTime: Add support for music control</li>
<li>Pebble: Fix steps on home screen widget</li>
<li>Bangle.js: Fix issue where call state reporting was corrupted</li>
<li>Add charts to sport activity summary view</li>
<li>Add missing icons for new sport activity types</li>
</ul>
<h4>0.47.1</h4>
<ul>
<li>Huami: Add new activity types found in recent Bip S firmware</li>
<li>Huami: Many improvements to the activity summary view, including a global view for all devices, filtering per activity type and much more</li>
<li>Huami: Prevent generating broken elevation data when they are not sent by the device</li>
<li>Amazfit Bip S: Allow flashing more font files and GPS almanac (only cep worked before)</li>
<li>Pinetime-JF: Recognize device if it announces itself as InfiniTime</li>
<li>ZeTime: Fix weather forecast icons on older firmwares, try to send weather even if no firmware version was detected</li>
<li>HPlus: Improve Unicode, notification lenth and weather support</li>
<li>Fix warnings and colors for AboutScreen</li>
</ul>Gadgetbridge 0.47.0: Pinetime-JF, big update for Huami devices2020-08-31T00:00:00+02:002020-08-31T00:00:00+02:00Petr Vaněktag:blog.freeyourgadget.org,2020-08-31:/release-0_47_0.html<p>Gadgetbridge 0.47.0 has been tagged and will appear on F-Droid soon! As
always, this can take a few days.</p>
<p>This release finally has initial support for Pinetime-JF (JF Firmware for
the PineTime watch). You can check progress of the JF Firmware
<a href="https://github.com/JF002/Pinetime">here</a>. This initial support is not really …</p><p>Gadgetbridge 0.47.0 has been tagged and will appear on F-Droid soon! As
always, this can take a few days.</p>
<p>This release finally has initial support for Pinetime-JF (JF Firmware for
the PineTime watch). You can check progress of the JF Firmware
<a href="https://github.com/JF002/Pinetime">here</a>. This initial support is not really
usable, it only allows setting the time, displaying PineTime's software and
hardware revisions, and seeing notification titles on the watch (without
vibration). As the firmware improves, we plan to support new upstream feature as
soon as we can.</p>
<p>Further work has been done on improving the Bluetooth pairing activity on all
devices. On phones running Android 8.0 (API level 26) and higher, it’s possible
to use companion device pairing. After the device is paired using this method,
the device can leverage the REQUEST_COMPANION_RUN_IN_BACKGROUND and
REQUEST_COMPANION_USE_DATA_IN_BACKGROUND permissions to start the app from the
background. This might provide stability benefit to Gadgetbridge. To take
advantage of this pairing method, you must pair the device again, see this
<a href="https://codeberg.org/Freeyourgadget/Gadgetbridge/wiki/Companion-Device-pairing">wiki article</a>
for a step by step procedure.</p>
<p>Many device icons have been re-drawn into vectors, allowing nicer icon
rendering, taking advantage of capabilities of modern phones. Also, new icons
have been added for additional sports activities.</p>
<p>To be true of it's name, Gadgetbridge added device events, which is a way to
utilize events detected on a band or a watch (for example when you fall asleep
or wake up) and trigger a custom action on the phone. There are several included
media actions, like Play and Pause. Even further, one can also choose to send an
Android Broadcast message (this can be customized) and utilize other apps like
Easer or Tasker to perform further actions based on this message. So here we
have it - gadget events bridging :)
This feature is available for all Xiaomi/Huami devices except the Mi Band 1 and
2.</p>
<p>For Sport enthusiasts, we now provide much more comprehensive set of information
about sports activities and workouts due to enhanced decoding of data from
Xiaomi/Huami devices which support workout modes (all except Mi Band 1 and 2).
This allows us to retrieve more data for "Activity/Workout" modes, like biking
and treadmill, but also for new activities like Yoga (yes, 🧘...),
swimming, jumping rope and others (if supported on the watch/band). Detailed view
of each sport activity is giving you very comprehensive set of data about
timing, ascending, descending or swimming style, tempo, calories etc, depending
on the type of workout. You can also set your own labels and use the Filter to
slice and dice the view as needed and then see statistics summary calculation
with total duration, distance or calories for the listed/filtered items. Wiki
article with pictures <a href="https://codeberg.org/Freeyourgadget/Gadgetbridge/wiki/Sports-Activities-Workouts">here</a>.</p>
<p>For all user-facing changes since the previous blog post, check the following list:</p>
<h4>0.47.0</h4>
<ul>
<li>Initial experimental support for Pinetime-JF (not yet usable)</li>
<li>HPlus; Recognize Lemfo SG2</li>
<li>Huami: Support events forwarding via intents or direct triggering of certain actions (eg. stop music when fall asleep)</li>
<li>Huami: Add Sports Activity Detail screen from decoded sports summary values</li>
<li>Huami: Recogize and decode lot more activity (workout) types</li>
<li>Amazfit Cor/Cor2: Allow workout syncing</li>
<li>Add Sports Activity Summary filtering and statistics</li>
<li>Many icons have been re-drawn as vectors, also several new device and sports activity icons added</li>
<li>Many improvements to the Bluetooth discovery and scanning</li>
<li>Fix crash when opening GPX files</li>
</ul>Gadgetbridge 0.46.0: Mi Band 5 and TLW64 support2020-08-11T00:00:00+02:002020-08-11T00:00:00+02:00Andreas Shimokawatag:blog.freeyourgadget.org,2020-08-11:/release-0_46_0.html<p>Gadgetbridge 0.46.0 has been release and after a whole week of waiting it
landed in F-Droid.</p>
<p>This release, which adds TLW64 support contributed by Erik Bloß, also has
support for the new Mi Band 5, which is basically runnig on the Mi Band 4 code.</p>
<p>On the Huami …</p><p>Gadgetbridge 0.46.0 has been release and after a whole week of waiting it
landed in F-Droid.</p>
<p>This release, which adds TLW64 support contributed by Erik Bloß, also has
support for the new Mi Band 5, which is basically runnig on the Mi Band 4 code.</p>
<p>On the Huami front there are fixes for GTR/GTS activity data on newer
firmware version. There seems to be extra data which we ignore for now to make
the current code run with it. In the future we will look at making use of
the new data which unfortunately would need a new database schema.</p>
<p>Another quite big changes was contributed by Taavi Eomäe, who refactored the
device discovery activity which fixes tons of bugs and also new features,
like displaying already paired devices an notes about devices needing a
pairing key.</p>
<p>The release 0.45.0 did not have its own blog post, please refer to the list below
for details on what changed with the 0.45.0 and 0.45.1 releases.</p>
<p>But there is one thing I would like to highlight. There is a new,
experimental way of getting weather data from an new open source app developed
by Pawel Dube, that directly supports Gadgetbridge. No need for API keys.
The App is still alpha and work in progress, but we highly recommend trying it.
<a href="https://codeberg.org/Starfish/TinyWeatherForecastGermany">TinyWeatherForecast</a>
Don't be fooled by the name it supports a lot of locations worldwide.
If you like it please give it a star on Codeberg.org!</p>
<p>For all user-facing changes since the previous blog post, check the following list:</p>
<h4>0.46.0</h4>
<ul>
<li>Initial support for Mi Band 5</li>
<li>Initial support for TLW64</li>
<li>Amazfit GTR/GTS: Fix broken activity data on newer firmwares</li>
<li>Big refactoring of the device discovery activity (See PR #1927 description for details)</li>
<li>Add about screen</li>
<li>New icon for Amazfit Bip</li>
<li>Avoid duplicated entries in preferred media player selection</li>
<li>Avoid a lot of crashes and improve error handling in various places</li>
</ul>
<h4>0.45.1</h4>
<ul>
<li>Amazfit GTR/GTS: Fix connection issue with latest firmwares (probably other Huami devices also affected)</li>
<li>Add experimental support for TinyWeatherForecastGermany</li>
</ul>
<h4>0.45.0</h4>
<ul>
<li>Initial support for Amazfit T-Rex</li>
<li>Amazfit Bip S: Support installation of latest .res</li>
<li>Amazfit Bip S: Support longer notification messages</li>
<li>Huami: Limit weather forecast to 7 days to fix problems with weather notificaon 0.3.11</li>
<li>Huami: Improve music playback information</li>
<li>Huami: Ensure cutting strings on UTF-8 border</li>
<li>Stop incoming call notification when VoIP calls are missed</li>
<li>Fix a crash when with Farsi translation</li>
</ul>Gadgetbridge 0.44.0: Initial WatchX(Plus) support and much more2020-05-06T00:00:00+02:002020-05-06T00:00:00+02:00Andreas Shimokawatag:blog.freeyourgadget.org,2020-05-06:/release-0_44_0.html<p>Gadgetbridge 0.44.0 has been released! Let's play the F-Droid waiting game.</p>
<p>This release finally merges support for WatchX(Plus). Support for this watch
has been contributed to "ksiwczynski", "mkusnierz" and finally "mamutcho", who
also did the final polishing before official inclusion. We do not own the device
ourselves …</p><p>Gadgetbridge 0.44.0 has been released! Let's play the F-Droid waiting game.</p>
<p>This release finally merges support for WatchX(Plus). Support for this watch
has been contributed to "ksiwczynski", "mkusnierz" and finally "mamutcho", who
also did the final polishing before official inclusion. We do not own the device
ourselves, but we believe it works ;)</p>
<p>Thanks to a donation of a brand new ZeTime (THANK YOU!), I could finally
test the state of ZeTime support and fix some long standing issues, plus add
support for rejecting calls from the watch. There will be probably further
fixes in the next release.</p>
<p>Further improvements and fixes were also done for Fossil Hybrid HR, most of
them contributed by Daniel Dakhno again. Thanks! :)</p>
<p>For all user-facing changes since the last blog post, check the following list:</p>
<h4>Version 0.44.0</h4>
<ul>
<li>Initial support for WatchX(Plus)</li>
<li>Add support for Amazfit GTR Lite (untested and incomplete)</li>
<li>Fossil Hybrid HR: Fix some issues with custom widgets</li>
<li>Fossil Hybrid HR: Allow setting alarm titles and descriptions</li>
<li>Fossil Hybrid HR: Fix step data parsing</li>
<li>Amazfit GTS: Fix setting menu items with low MTU</li>
<li>Amazfit GTR: Allow setting menu item like GTS</li>
<li>ZeTime: Support setting the watch language</li>
<li>ZeTime: Support rejecting calls</li>
<li>ZeTime: Try to fix weather conditions on newer firmware</li>
<li>ZeTime: Fix could not synchronize calendar on connect</li>
<li>ZeTime: Fix calendar event time and date</li>
<li>ZeTime: Send up to 16 upcoming calendar events on connect if option is enabled</li>
<li>Allow set light/dark theme according to system settings (new default)</li>
</ul>
<h4>Version 0.43.3</h4>
<ul>
<li>Fossil Hybrid HR: Initial support for activity tracking (no sleep yet)</li>
<li>Fossil Hybrid HR: Support setting alarms on newer firmware</li>
<li>Amazfit GTR/GTS: Fix flashing watchfaces and maybe firmware/res update (still untested)</li>
<li>Amazfit GTS: Support enabling/disabling menu items on the watch</li>
<li>Implement transliteration for Korean</li>
</ul>
<h4>Version 0.43.2</h4>
<ul>
<li>Fossil Hybrid HR: Allow choosing and cropping image to be set as watch background</li>
<li>Fossil Hybrid HR: Option to draw circles around widgets</li>
<li>Fossil Hybrid HR: Experimenal firmware update support</li>
<li>Fossil Hybrid HR: Fix vibration strength setting</li>
<li>Huami: Do not display firmware information and whitelist information when flashing watchfaces</li>
<li>Huami: Disable air quality indicator on Huami devices instead of showing 0</li>
<li>Bangle.js: Change encoded char set to match Espruino's 8 bit fonts</li>
<li>Steps/Sleep averages: Skip days with zero data</li>
</ul>
<h4>Version 0.43.1</h4>
<ul>
<li>Initial support for Amazfit Bip S (incomplete, needs the official app once to obtain the pairing key)</li>
<li>Amazift Bip Lite: Allow relaxing firmware checks to allow flashing of the regular Bip firmware (for the brave)</li>
<li>Fossil Hybrid HR: Fix notification history on newer firmwares</li>
<li>Fossil Hybrid HR: Add option to disable widget circle</li>
<li>Bangle.js: Don't set time if the option is turned off in settings</li>
<li>Bangle.js: DST and time zone fixes</li>
<li>Add Arabic-style Eastern Arabic numerals to transliteration</li>
</ul>Gadgetbridge 0.43.0: Fossil Hybrid HR2020-03-25T00:00:00+01:002020-03-25T00:00:00+01:00Andreas Shimokawatag:blog.freeyourgadget.org,2020-03-25:/release-0_43_0.html<p>Gadgetbridge 0.43.0 has been released and will be in F-Droid, god knows
when. If she exists.</p>
<p>This release adds initial suport for Fossil Hybrid HR. Again most of the work
was contributed by Daniel Dakhno. Thanks Daniel! Unfortunately this device
needs server side pairing with the official Fossil …</p><p>Gadgetbridge 0.43.0 has been released and will be in F-Droid, god knows
when. If she exists.</p>
<p>This release adds initial suport for Fossil Hybrid HR. Again most of the work
was contributed by Daniel Dakhno. Thanks Daniel! Unfortunately this device
needs server side pairing with the official Fossil app once. The procedure
we used to obtain the device specific secret key is complicated and described
briefly in our wiki. There might be other easier methods by "cracking" the app
but we refrained from trying. Please the wiki read before you decide this
otherwise very nice device.</p>
<p>For user-facing changes since the last blog post, check the following list:</p>
<h4>Version 0.43.0</h4>
<ul>
<li>Initial support for Fossil Hybrid HR (needs complicated key extraction, read wiki)</li>
<li>Fossil: Allow switching off the Q Icon and use the default Gadgetbridge icon</li>
<li>Fix VoIP call handling during DND</li>
<li>Fix find-my-phone for Android 10</li>
<li>Huami: Fix crash when calendar event desctription or title was null</li>
<li>Huami: Igore all-day events when syncing calendar events</li>
</ul>
<h4>Version 0.42.1</h4>
<ul>
<li>Fix accepting/rejecting calls on Android 9</li>
<li>Mi Band 3/4, Amazfit Bip/Cor/GTS/GTR: Option to sync calendar events as reminder</li>
</ul>Gadgetbridge 0.42.0: iTag support2020-02-09T00:00:00+01:002020-02-09T00:00:00+01:00Andreas Shimokawatag:blog.freeyourgadget.org,2020-02-09:/release-0_42_0.html<p>Gadgetbridge 0.42.0 has been released and is already build by F-Droid.</p>
<p>This release adds initial support support for "iTag" devices, contributed by Taavi
Eomäe. Lacking any compatible devices, we cannot really tell you anything
about it though ;)</p>
<p>Apart from iTag support, Taavi also contributed various other small fixes …</p><p>Gadgetbridge 0.42.0 has been released and is already build by F-Droid.</p>
<p>This release adds initial support support for "iTag" devices, contributed by Taavi
Eomäe. Lacking any compatible devices, we cannot really tell you anything
about it though ;)</p>
<p>Apart from iTag support, Taavi also contributed various other small fixes and
improvements to this release. Thanks!</p>
<p>For user-facing changes since the last blog post, check the following list:</p>
<h4>Version 0.42.0</h4>
<ul>
<li>Initial iTag support</li>
<li>Fix indefinitely lasting bluetooth scans when location permission has not been granted</li>
<li>Try to stop incoming VoIP call notification when the call is answered</li>
<li>Vectorize some icons and add a new Mi Scale 2 icon</li>
<li>Mi Band 4: Make high MTU optional, fixes problems on some phones</li>
<li>ZeTime: Fix probably broken support (duplicate id used by Fossil)</li>
</ul>
<h4>Version 0.41.1</h4>
<ul>
<li>Huami: allow to have alarms without snooze feature</li>
<li>Mi Band 2: Properly stop a call notification when text notifications are disabled</li>
<li>VoIP calls: ignore notifications with only one action, assuming it is an outgoing call</li>
<li>Try to fix notifications from Business Calendar</li>
</ul>Gadgetbridge 0.41.0: JYou Y5 Support2020-01-09T00:00:00+01:002020-01-09T00:00:00+01:00Andreas Shimokawatag:blog.freeyourgadget.org,2020-01-09:/release-0_41_0.html<p>Gadgetbridge 0.41.0 has been released and will appear on F-Droid soon.</p>
<p>This release adds support for the JYou Y5 and improved button actions for Mi
Band 2 And Amazfit Bip. </p>
<p>JYou Y5 support was contributed by Pavel Elagin in a very old PR we never
merged. It was …</p><p>Gadgetbridge 0.41.0 has been released and will appear on F-Droid soon.</p>
<p>This release adds support for the JYou Y5 and improved button actions for Mi
Band 2 And Amazfit Bip. </p>
<p>JYou Y5 support was contributed by Pavel Elagin in a very old PR we never
merged. It was recently found and polished by Da Pa and finally merged!
Thank you guys!</p>
<p>Improved button action support was contributed by vanous! It now much easier to
setup this feature for music control, and long presses are also supported.
Thanks you vanous!</p>
<p>Speaking of the Amazfit Bip, you should check out BipOS which is a patched
version of the original firmware which adds the ability to create own apps!
Unfortunately depends on non-free tools (free as in beer).</p>
<p>For user-facing changes since the last blog post, check the following list.</p>
<h4>Version 0.41.0</h4>
<ul>
<li>JYou Y5: Initial support</li>
<li>Mi Band 2/Amazfit Bip: Redesign button actions for easy music control setup and support long presses on Bip</li>
<li>Amazfit Bip: Remove RES file limit (for BipOS)</li>
<li>Huami: Automatically toggle alarm switch when toggling on the Band/Watch while in Alarm settings in Gadetbridge</li>
<li>Recogize Pixart-Messenger as Chat App</li>
</ul>
<h4>Version 0.40.1</h4>
<ul>
<li>Mi Band/Amazfit: Recogize changes when toggling alarm on device (immediately when connected, else when connecting)</li>
<li>Mi Band/Amazfit: Fix some bugs with stuck connection when re-connecting</li>
<li>Mi Band 4: Support higher MTU for multiple times faster firmware transfer (probably also Amazfit GTR/GTS)</li>
<li>Amazfit Cor: Fix setting language to Chinese manually</li>
</ul>Move to codeberg.org complete, Gadgetbridge 0.40.0: Bangle.js Fossil Q Hybrid2019-12-21T00:00:00+01:002019-12-21T00:00:00+01:00Andreas Shimokawatag:blog.freeyourgadget.org,2019-12-21:/release-0_40_0.html<p>As announced almost a year ago, we finally completely to
<a href="https://codeberg.org/Freeyourgadget/Gadgetbridge">Codeberg</a> on 10th December
2019.
Our GitHub repo is archived now, but we will resync it from time to time, so
we stay visible there, no interaction will be possible on GitHub though.
Please create a Codeberg account, if you …</p><p>As announced almost a year ago, we finally completely to
<a href="https://codeberg.org/Freeyourgadget/Gadgetbridge">Codeberg</a> on 10th December
2019.
Our GitHub repo is archived now, but we will resync it from time to time, so
we stay visible there, no interaction will be possible on GitHub though.
Please create a Codeberg account, if you want to continue interacting with
us.
We imported all old issues and PRs. And also assigned comments of GitHub
users to their codeberg.org account where known. If you create your
codeberg.org account later, we can still re-assign these to your account.</p>
<p>And finally, Gadgetbridge 0.40.0 has been released and will appear on F-Droid
soon!</p>
<p>This release adds support for the Fossil Q Hybrid and Bangle.js!</p>
<p>Fossil Q Hybrid support was contributed by Daniel Dakhno. Thanks Daniel!</p>
<p>Bangle.js support came directly from Gordon Williams of Espruino! And marks
a special milestone for Gadgebridge. It is the first time that Gadetbridge
support was contributed directly from the creators of a device! The Bangle.js
is a fully hackable smartwatch with an open source firmware and apps written in
JavaScript. For more information visit <a href="https://banglejs.com">banglejs.com</a>.</p>
<p>For user-facing changes since the last blog post, check the following list.</p>
<h4>Version 0.40.0 (WIP)</h4>
<ul>
<li>Fossil Q Hybrid: Initial support</li>
<li>Bangle.js: Initial support</li>
<li>Reserve Alarm for Calendar feature restricted to Mi Band 1/2 and moved to per-device settings</li>
<li>New icon for App Manager</li>
</ul>
<h4>Version 0.39.1</h4>
<ul>
<li>Try to actively re-connect when a connection gets interrupted (interval grows up to 64 seconds)</li>
<li>Mi Band2/Amazfip Bip: Make button action settings per-device and enable for Amazfit Bip</li>
</ul>
<h4>Version 0.39.0</h4>
<ul>
<li>Amazfit GTS: Initial and incomplete support, mostly untested</li>
<li>Add forward/backward buttons to charts for faster navigation</li>
<li>Debug: allow to reset last fetch date for Huami devices</li>
</ul>Donations via Liberapay re-opened2019-11-21T00:00:00+01:002019-11-21T00:00:00+01:00Andreas Shimokawatag:blog.freeyourgadget.org,2019-11-21:/donations-via-liberapay-re-opened.html<p>You can finally donate to Gadgetbridge again!</p>
<p>After more than a year we bit the bullet and re-enabled donations on liberapay
by complying with what had to be done to make that work. We were already almost
dried up and were unable to buy devices we wanted to support. To …</p><p>You can finally donate to Gadgetbridge again!</p>
<p>After more than a year we bit the bullet and re-enabled donations on liberapay
by complying with what had to be done to make that work. We were already almost
dried up and were unable to buy devices we wanted to support. To make
Gadgetbridge even better please consider to donate!</p>Gadgetbridge 0.38.0: Amazfit Bip GTR (NOT RECOMMENDED)2019-10-28T00:00:00+01:002019-10-28T00:00:00+01:00Andreas Shimokawatag:blog.freeyourgadget.org,2019-10-28:/release-0_38_0.html<p>Gadgetbridge 0.38.0 has been released and will appear on F-Droid soon!</p>
<p>We added initial support the Amazfit GTR, but just like with the Mi Band 4
and Amazfit Bip Lite support, unfortunatly this sounds better than it is.</p>
<p><strong>WE CANNOT RECOMMEND THIS DEVICE TO OUR USERS, SINCE YOU …</strong></p><p>Gadgetbridge 0.38.0 has been released and will appear on F-Droid soon!</p>
<p>We added initial support the Amazfit GTR, but just like with the Mi Band 4
and Amazfit Bip Lite support, unfortunatly this sounds better than it is.</p>
<p><strong>WE CANNOT RECOMMEND THIS DEVICE TO OUR USERS, SINCE YOU HAVE TO INSTALL</strong>
<strong>MI FIT SOMEWHERE, CREATE AN ACCOUNT AND GET A DEVICE SPECIFIC AUTH KEY FROM</strong>
<strong>MI FIT ON A ROOTED PHONE</strong></p>
<p>Other methods then the above might exist, but in the end you need Mi Fit
with an account once, then get hold of your secret auth key, and input that
in Gadgetbridge.</p>
<p>As always, we want to remind you that we will move completely to
<a href="https://codeberg.org/Freeyourgadget/Gadgetbridge">Codeberg</a> this autumn.
The wiki can already only be updated there, while all wiki changes will be
mirrored to github. Please create a Codeberg account, if you want to modify the
wiki or if you want your issues/PRs and comments to be properly assigned to you
again on Codeberg.</p>
<p>The reason for the move in one sentence: A free project deserves a free home!</p>
<p>For user-facing changes since the last blog post, check the following list.</p>
<h4>Version 0.38.0</h4>
<ul>
<li>Amazfit GTR: Initial and incomplete support, mostly untested</li>
<li>Amazfit Bip: add Portuguese to the list of selectable languages</li>
<li>Mi Band 4: Enable emoji font setting</li>
<li>Makibes HR3: Support the english version</li>
<li>Makibes HR3: Enable bluetooth pairing for working reconnection</li>
<li>Work around crash when trying to display changelog</li>
<li>Sleep detection settings: Rolling 24 hours (existing style) or Noon to noon</li>
<li>Add alternative color to heartrate in chart settings</li>
</ul>
<h4>Version 0.37.1</h4>
<ul>
<li>Amazfit Bip Lite: Support flashing firmware and watchfaces</li>
</ul>Gadgetbridge 0.37.0: Makibes HR3 support, and finally Amazfit Bip Lite (NOT RECOMMENDED)2019-10-12T00:00:00+02:002019-10-12T00:00:00+02:00Andreas Shimokawatag:blog.freeyourgadget.org,2019-10-12:/release-0_37_0.html<p>Gadgetbridge 0.37.0 has been released and will appear on F-Droid soon!</p>
<p>One highlight is Makibes HR3 support was contributed by Lukas Schwichtenberg.
Thank you Lukas for the great work.</p>
<p>We also managed to support the Amazfit Bip Lite, but just like with the Mi
Band 4 support, unfortunatly …</p><p>Gadgetbridge 0.37.0 has been released and will appear on F-Droid soon!</p>
<p>One highlight is Makibes HR3 support was contributed by Lukas Schwichtenberg.
Thank you Lukas for the great work.</p>
<p>We also managed to support the Amazfit Bip Lite, but just like with the Mi
Band 4 support, unfortunatly this sounds better than it is.</p>
<p><strong>WE CANNOT RECOMMEND THIS DEVICE TO OUR USERS, SINCE YOU HAVE TO INSTALL</strong>
<strong>MI FIT SOMEWHERE, CREATE AN ACCOUNT AND GET A DEVICE SPECIFIC AUTH KEY FROM</strong>
<strong>MI FIT ON A ROOTED PHONE</strong></p>
<p>Other methods then the above might exist, but in the end you need Mi Fit
with an account once, then get hold of your secret auth key, and input that
in Gadgetbridge.</p>
<p>There are some contradicting claims about the Bip Lite, so it <em>might</em> be
possible to pair without a key. If that should be the case, we will release
an update.</p>
<p>As always, we want to remind you that we will move completely to
<a href="https://codeberg.org/Freeyourgadget/Gadgetbridge">Codeberg</a> this autumn.
The wiki can already only be updated there, while all wiki changes will be
mirrored to github. Please create a Codeberg account, if you want to modify the
wiki or if you want your issues/PRs and comments to be properly assigned to you
again on Codeberg.</p>
<p>The reason for the move in one sentence: A free project deserves a free home!</p>
<p>For user-facing changes since the last blog post, check the following list.</p>
<h4>Version 0.37.0</h4>
<ul>
<li>Initial Makibes HR3 support</li>
<li>Amazfit Bip Lite: Inittal working support, firmware update is disabled for now (we do not have any firmware for testing)</li>
<li>Amazfit Cor 2: Enable Emoji Font setting and 3rd party HR access</li>
<li>Find Phone now also vibration in addition to playing the ring tone</li>
<li>ID115: All settings are now per-device</li>
<li>Time format settings are now per-device for all supported devices</li>
<li>Wrist location settings are now per-device for all supported devices</li>
<li>Work around broken layout in database management activity</li>
<li>Show toast in case no app is installed which can handle GPX files</li>
<li>Mi Band 4/Amazfit Bip Lite: Trim white spaces and new lines from auth key</li>
<li>Mi Band 4/Amazfit Bip Lite: Display a toast and do not try to pair if there was no auth key supplied</li>
<li>Skip service scan if supported device could be recognized without uuids during discovery</li>
</ul>
<h4>Version 0.36.2</h4>
<ul>
<li>Amazfit Bip: Untested support for Lite variant </li>
<li>Force Lineage OS to ask for permission when Trust is used to fix non-working incoming calls</li>
<li>Charts: List multiple sleep sessions per day</li>
</ul>
<h4>Version 0.36.1</h4>
<ul>
<li>Mi Band 2/3/4, Amazfit Bip/Cor: Add setting to expose the HR sensor to 3rd party apps</li>
<li>Mi Band 4: Really fix weather location not being updated on the Band</li>
<li>Mi Band 4: Fix call notifcation not stopping when call gets answered or rejected on the phone</li>
<li>Amazfit Bip/Cor: Support for custom emoji font</li>
<li>ZeTime: Enable emoji support</li>
<li>ZeTime: Make watch language the same as the phone language by default</li>
<li>New status and alarms widget</li>
<li>Fix crash when entering notification filter settings</li>
<li>Make diagram settings accessible from charts activity</li>
<li>Add option to hide the floating plus button in the main activity</li>
<li>Fix a potential crash on Android 4.4 KitKat</li>
</ul>Gadgetbridge 0.36.0: Many small fixes and improvements and a new device!2019-08-25T00:00:00+02:002019-08-25T00:00:00+02:00Andreas Shimokawatag:blog.freeyourgadget.org,2019-08-25:/release-0_36_0.html<p>Gadgetbridge 0.36.0 has been released and will appear on F-Droid soon!</p>
<p>This release accumulates a lot of fixes and small improvements and a few minor
new features. Many of which came in with the help of community contributions,
special thanks to @vanous who really took a deep dive …</p><p>Gadgetbridge 0.36.0 has been released and will appear on F-Droid soon!</p>
<p>This release accumulates a lot of fixes and small improvements and a few minor
new features. Many of which came in with the help of community contributions,
special thanks to @vanous who really took a deep dive into Gadgetbridge!
There are some contributions which did not make it into 0.36.0 but will be in
0.36.1 which will follow soon.</p>
<p>Also LineageOS 16 weather provider support is back. We lost support after
LineageOS had to change some internal naming from cyanogenmod. But integrating
their SDK by copying a jar (their recommended way) was never an option for us.
Now we bit the bullet and used some dirty tricks like reflection and copying
parts of the SDK source files. Not beautiful - but it works without the jar.</p>
<p>The version bump which usually happens after a major new feature landed or a
new device is supported this time happened because we now support the Mijia
LYWSD02 (Smart Clock with Humidity and Temperature Sensor). A very nice e-Paper
device, but unfortunately without any pairing or security. Means everyone can
read recorded humidity and temperature. The support only includes setting the
time for now - but that saved me from installing Mi Home. And this is what
our project is about. Freeing your devices.</p>
<p>As always, we want to remind you that we will move completely to
<a href="https://codeberg.org/Freeyourgadget/Gadgetbridge">Codeberg</a> this summer/autumn.
The wiki can already only be updated there, while all wiki changes will be
mirrored to github. Please create a Codeberg account, if you want to modify the
wiki or if you want your issues/PRs and comments to be properly assigned to you
again on Codeberg.</p>
<p>The reason for the move in one sentence: A free project deserves a free home!</p>
<p>For user-facing changes since the last blog post, check the following list.</p>
<h4>Version 0.36.0</h4>
<ul>
<li>Initial Mijia LYWSD02 support (Smart Clock with Humidity and Temperature Sensor), just for setting the time</li>
<li>Mi Band 3/4: Allow enabling the NFC menu where supported (useless for now)</li>
<li>Mi Band 3/4, Amazfit Cor/Bip: Set language immediately when changing it (not only on connect)</li>
<li>Mi Band 3/4, Amazfir Cor/Bip: Add icons for "swimming" and "exercise"</li>
<li>Mi Band 4: Support flashing the V2 font</li>
<li>Mi Band 4: Fix weather location not being updated on the Band</li>
<li>Mi Band 4: remove unsupported DND setting from settings menu</li>
<li>Amazfit Bip/Cor: Fix resetting of last fetched date for sports activities</li>
<li>Amazfit Bip: Fix sharing GPX files for some Apps</li>
<li>Pebble: Use Rebble Store URI</li>
<li>Support LineageOS 16.0 weather provider</li>
<li>Add Averages to Charts</li>
<li>Allow togging between weekly and monthly charts</li>
</ul>
<h4>Version 0.35.2</h4>
<ul>
<li>Mi Band 1/2: Crash when updating firmware while phone is set to Spanish</li>
<li>Mi Band 4: Enable music info support (displays now on the band)</li>
<li>Mi Band 4: Support setting date format (for built-in watchfaces)</li>
<li>Amazfit Cor 2: Try to fix empty menu on device</li>
</ul>
<h4>Version 0.35.1</h4>
<ul>
<li>Mi Band 4: Support flashing watchfaces, res and firmware (.ft untested)</li>
</ul>Gadgetbridge 0.35.0: Mi Band 4 support (NOT A RECOMMENDED DEVICE)2019-07-24T00:00:00+02:002019-07-24T00:00:00+02:00Andreas Shimokawatag:blog.freeyourgadget.org,2019-07-24:/release-0_35_0.html<p>Gadgetbridge 0.35.0 has been released and will appear on F-Droid soon!</p>
<p>The only change in the major release is Mi Band 4 support, unfortunatly this
sounds better than it is.</p>
<p><strong>WE CANNOT RECOMMEND THIS DEVICE TO OUR USERS, SINCE YOU HAVE TO INSTALL</strong>
<strong>MI FIT SOMEWHERE, CREATE AN …</strong></p><p>Gadgetbridge 0.35.0 has been released and will appear on F-Droid soon!</p>
<p>The only change in the major release is Mi Band 4 support, unfortunatly this
sounds better than it is.</p>
<p><strong>WE CANNOT RECOMMEND THIS DEVICE TO OUR USERS, SINCE YOU HAVE TO INSTALL</strong>
<strong>MI FIT SOMEWHERE, CREATE AN ACCOUNT AND GET A DEVICE SPECIFIC AUTH KEY FROM</strong>
<strong>MI FIT ON A ROOTED PHONE</strong></p>
<p>Other methods then the above might exist, but in the end you need Mi Fit
with an account once, then get hold of your secret auth key, and input that
in Gadgetbridge.</p>
<p>This will probably not change in the future, since the initial pairing
sequence has been changed by the firmware. Instead of us choosing a random
secret key, now it seems that only Mi Fit servers are able to generate a working
key. If the cryto behind this is done right, this is unbreakable.</p>
<p>We also want to remind you that we will move completely to
<a href="https://codeberg.org/Freeyourgadget/Gadgetbridge">Codeberg</a> this summer.
The wiki can already only be updated there, while all wiki changes will be
mirrored to github. Please create a Codeberg account, if you want to modify the
wiki or if you want your issues/PRs and comments to be properly assigned to you
again on Codeberg.</p>
<p>The reason for the move in one sentence: A free project deserves a free home!</p>
<p>For user-facing changes since the last blog post, check the following list.</p>
<h4>Version 0.35.0</h4>
<ul>
<li>Mi Band 4: Initial support (WARNING: INITIAL SETUP NEEDS MI FIT WITH ACCOUNT AND ROOT, NOT A RECOMMENDED DEVICE FOR GADGETBRIDGE)</li>
</ul>
<h4>Version 0.34.1</h4>
<ul>
<li>Mi Band 1: Fix crash when entering per-device settings</li>
<li>Mi Band 3: Allow setting date format in per-device settings</li>
<li>ZeTime: Fix timestmaps</li>
<li>Fix a crash when flashing an non-whitelisted firmware while using Gadgetbridge in Spanish</li>
</ul>Gadgetbridge 0.34.0: Per-device settings, finally2019-06-05T00:00:00+02:002019-06-05T00:00:00+02:00Andreas Shimokawatag:blog.freeyourgadget.org,2019-06-05:/release-0_34_0.html<p>Gadgetbridge 0.34.0 has been released and will appear on F-Droid soon!</p>
<p>The highlight of this release is a big refactoring of device settings for
Mi Band/Amazfit devices.</p>
<p>Since we support an increasing number of Mi Band/Amazfit devices which
almost all have unique feature, it became increasingly …</p><p>Gadgetbridge 0.34.0 has been released and will appear on F-Droid soon!</p>
<p>The highlight of this release is a big refactoring of device settings for
Mi Band/Amazfit devices.</p>
<p>Since we support an increasing number of Mi Band/Amazfit devices which
almost all have unique feature, it became increasingly confusing how to
configure them. Take the Amazfit Cor for example. Some of the settings
were in "Mi Band / Amazfit settings", others in "Amazfit Cor settings", and
finally some in "Amazfit Bip" settings (historically,because the Bip introduced
new features which the later released "Amazfit Cor" also has).</p>
<p>After the refactoring, the device specific sub menus for Mi Band 2, Mi Band
3, Amazfit Bip and Amazfit Cor vanished completely, instead there is a new
settings (gear) icon on the device card in the main activity to enter the
device specific settings. All changes done there will affect ONLY the single
device where the settings are altered. The per-device settings will only
show settings which are really supported by the device type. That means, you
no longer have to wonder why "turn wrist to change display" does nothing on your
Mi Band 3 - you wont even see that setting unless you have a Mi Band 2, and are
configuring that.</p>
<p>In addition some of the settings in "Mi Band / Amazfit settings" were also
moved to the per-device settings, but this step is not complete yet. I plan
to finish that during the 0.34.x cycle.</p>
<p>We also want to remind you that we will move completely to
<a href="https://codeberg.org/Freeyourgadget/Gadgetbridge">Codeberg</a> this summer.
The wiki can already only be updated there, while all wiki changes will be
mirrored to github. Please create a Codeberg account, if you want to modify the
wiki or if you want your issues/PRs and comments to be properly assigned to you
again on Codeberg.</p>
<p>The reason for the move in one sentence: A free project deserves a free home!</p>
<p>For user-facing changes since the last blog post, check the following list.</p>
<h4>Version 0.34.0</h4>
<ul>
<li>Mi Band 1/2/3/Bip/Cor: Migrate many settings to per-device settings (new settings icon in device card in main activity)</li>
<li>Mi Band 3: Fix setting menu items with 2.4 firmware and add support for the new timer menu</li>
<li>Amazfit Bip/Cor, Casio: Add support for muting incoming calls</li>
<li>ZeTime: Remove endless recursion in ZeTime settings</li>
<li>Recognize FairEmail notifications as generic email notifications</li>
</ul>
<h4>Version 0.33.1</h4>
<ul>
<li>Mi Band 3: Recognize "Xiaomi Band 3"</li>
<li>Amazfit Bip: Add German, Italian, French and Turkish to language settings</li>
</ul>Gadgetbridge 0.33.0: Amazfit Cor 2 and a security fix2019-05-09T00:00:00+02:002019-05-09T00:00:00+02:00Andreas Shimokawatag:blog.freeyourgadget.org,2019-05-09:/release-0_33_0.html<p>Gadgetbridge 0.33.0 has been realeased and will appear on F-Droid soon!</p>
<p>The highlight of this release is that we finally have per-device settings,
which are currently used for storing per-device security keys on all Mi
Band, Bip and Cor models. This in turn fixes a long-standing security issue …</p><p>Gadgetbridge 0.33.0 has been realeased and will appear on F-Droid soon!</p>
<p>The highlight of this release is that we finally have per-device settings,
which are currently used for storing per-device security keys on all Mi
Band, Bip and Cor models. This in turn fixes a long-standing security issue,
where all devices used the same security key. If you want to be sure that no one
else who knows that you are a Gadgetbridge user connects to your device,
change your security key by re-paring your device with Gadgetbridge (forget
the device in Androids settings and press the + button in Gadgetbridge
again to re-pair, data will be preserved). Per-device settings will be used
for many settings in the future. This release only laid the groundwork.</p>
<p>We also have new initial experimental Amazfit Cor 2 and BFH-16 support, the
latter contributed by Johannes Schmitt!</p>
<p>The rest of changes are mainly bugfixes and minor improvements.</p>
<p>This release took a really long time, since core members are still busy with
other projects, work and family. We cannot promise that things get better.
So if your PR did not merged, your Issue ignored, don't take it personally.</p>
<p>We also want to remind you that we will move completely to
<a href="https://codeberg.org/Freeyourgadget/Gadgetbridge">Codeberg</a> this summer.
The wiki can already only be updated there, while all wiki changes will be
mirrored to github. Please create a Codeberg account, if you want to modify the
wiki or if you want your issues/PRs and comments to be properly assigned to you
again on Codeberg.</p>
<p>The reason for the move in one sentence: A free project deserves a free home!</p>
<p>For user-facing changes since the last blog post, check the following list.</p>
<h4>Version 0.33.0</h4>
<ul>
<li>BFH-16: Initial support</li>
<li>Mi Band 2/3/Bip/Cor: Generate random per-device security keys when pairing, allow manual override to still support multiple android devices connecting to the same device</li>
<li>Mi Band 3: Add Indonesian, Thai, Arabic, Vietnamese, Portuguese, Dutch, Turkish and Ukrainian to language settings</li>
<li>Mi Band 3: Support flashing latest Japanese-Korean font</li>
<li>Amazfit Cor 2: Initial experimental support (untested)</li>
<li>Pebble: Add pebblekit extension for reopening last app</li>
<li>Casio: Bugfixes and improvements</li>
<li>Lookup contacts also in work profile</li>
<li>Fix searching in application name when blacklisting</li>
<li>Remove misleading title from database management activity when no legacy database is available</li>
</ul>
<h4>Version 0.32.4</h4>
<ul>
<li>Make voip call support optional (disabled by default)</li>
<li>Amazfit Bip: GPX export corrections</li>
<li>ZeTime: Fix setting alarms</li>
<li>ZeTime: Fix wrong activity timestamps</li>
<li>ZeTime: Set HR alarm limits when changed, not only on connect</li>
<li>ZeTime: Sync preferences from the watch to Gadgetbridge settings</li>
</ul>
<h4>Version 0.32.3</h4>
<ul>
<li>Fix a crash in charts due to a broken German translation</li>
<li>Fix a crash when transliterating emoji</li>
<li>Amazfit Bip/Cor: Support disconnect notification (must be configured in Bip settings for Cor also for now)</li>
</ul>
<h4>Version 0.32.2</h4>
<ul>
<li>Fix setting alarms under some circumstances</li>
<li>Support calls notifications for some VoIP apps</li>
<li>Mi Band 3: Enable fetching sports activities (currently only useful for flushing activities)</li>
<li>Casio: Improve stability</li>
<li>Casio: Add explicit support for GB-6900B, GB-X6900B and GB-5600B</li>
</ul>Gadgetbridge 0.32.0: Casio GB-6900B and per-device alarms2019-01-19T00:00:00+01:002019-01-19T00:00:00+01:00Andreas Shimokawatag:blog.freeyourgadget.org,2019-01-19:/release-0_32_0.html<p>Gadgetbridge 0.32.0 has been realeased and is already on F-Droid!</p>
<p>The highlight of this release are are initial support for Casio GB-6900B
(contributed by Andreas Böhler) and per-device alarms.</p>
<p>Per-device alarms also means that you can use the maximum number of alarms
you device supports, no longer limited …</p><p>Gadgetbridge 0.32.0 has been realeased and is already on F-Droid!</p>
<p>The highlight of this release are are initial support for Casio GB-6900B
(contributed by Andreas Böhler) and per-device alarms.</p>
<p>Per-device alarms also means that you can use the maximum number of alarms
you device supports, no longer limited to three.</p>
<p>The rest of changes are mainly bugfixes and minor improvements.</p>
<p>This release took a bit longer than usual, since some core members where
busy with other projects, like working on Codeberg, a new non-profit hosting
and collaboration platform, where Gadgetbridge also moved to.</p>
<p>Yep, github is now a mirror for us. We still use the Issue tracker on github
and we are still accepting PRs on github - but prefer new PRs on codeberg.org.</p>
<p>Also the wiki is now a mirror on github, if you want to help working on
documenting Gadgetbridge, please create an account on
<a href="https://codeberg.org">Codeberg</a> and meet us
<a href="https://codeberg.org/Freeyourgadget/Gadgetbridge">here</a>.</p>
<h4>Version 0.32.1</h4>
<ul>
<li>Fix db deadlock on alarm migration</li>
</ul>
<h4>Version 0.32.0</h4>
<ul>
<li>Initial support for Casio GB-6900B</li>
<li>Increase number of alarms and store them per-device </li>
<li>Support factory reset in debug activity (Mi Band 1/2/3, Bip, Cor)</li>
<li>Filter out unicode control sequences (fixes problems with Telegram and probably others)</li>
<li>Fix endless loop resulting in OOM when RTL support is enabled</li>
<li>Recoginize p≡p as an email app</li>
<li>No longer display Android paired devices in that were not a paired with Gadgetbridge</li>
<li>Amazfit Bip: Allow flashing latest GPS firmware</li>
<li>Pebble: Native support for M7S watch face</li>
<li>No1 F1: Support for a Chinese clone</li>
</ul>Gadgetbridge 0.31.0: No more duplicate notifications2018-11-04T00:00:00+01:002018-11-04T00:00:00+01:00Andreas Shimokawatag:blog.freeyourgadget.org,2018-11-04:/release-0_31_0.html<p>Gadgetbridge 0.31.0 has been tagged today and will show up on F-Droid
(hopefully) soon.</p>
<p>The highlight of this release are countermeasures against duplicate and
re-occurring notifications. This happened with modern chat applications
when having multiple conversations at once. For some Gadgetbridge even
became unusable because of that.</p>
<p>On …</p><p>Gadgetbridge 0.31.0 has been tagged today and will show up on F-Droid
(hopefully) soon.</p>
<p>The highlight of this release are countermeasures against duplicate and
re-occurring notifications. This happened with modern chat applications
when having multiple conversations at once. For some Gadgetbridge even
became unusable because of that.</p>
<p>On the Pebble front, we also have some good news: Wearable actions that are
attached to notifications are now all sent to the pebble (not only reply
actions). That means you can interact better from your Pebble with some
Apps.</p>
<p>Since we did not publish a blog post for the 0.30.0 release, we have attached
the changelog of both 0.30.0 and 0.31.0 below.</p>
<p>On a personal note: We have a broken Pebble 2 side buttons that we would like
to use on a daily basis again. If anyone with a 3D printer which can print
flexible filamet, and is willing to donate new printed side covers
(available on thingiverse.com), please contact us (all at freeyourgadget dot
org). ;)</p>
<h4>Version 0.31.0</h4>
<ul>
<li>Pebble: Send all wearable notification actions (not only reply)</li>
<li>Pebble: Always allow reply action even if untested features are turned off</li>
<li>Pebble: Temporarily disable broken autoremove notification feature</li>
<li>Amazfit Bip: Allow flashing latest gps firmware (Mili_dth.gps)</li>
<li>Mi Band 3/Amazfit Bip/Amazfit Cor: Send Fahrenheit if units are set to imperial</li>
<li>Roidmi 3: Fix and enable support</li>
<li>Mi Band 3/Amazfit Bip: fix find phone crash</li>
<li>Prevent re-sending old notifications to the wearable</li>
<li>Enhancement and Fixes for Bengali Transliteration</li>
<li>Disable excessive logging in RTL support</li>
</ul>
<h4>Version 0.30.0</h4>
<ul>
<li>Amazfit Bip + Mi Band 3: Support for right to left display (configurable) (#976)</li>
<li>Add Arabic, Bengali Farsi, Persian, Scandinavian transliteration</li>
<li>Add support for some Roidmi FM receivers</li>
<li>Mi Band 3: Allow enabling the "Workout" menu item</li>
<li>Mi Band 3: Support for night mode configuration</li>
<li>Huami devices: fix seldom activity/sports synchronization problem (#1264)</li>
<li>Preferences: Make minimum heart rate configurable (lower values will be disregarded) </li>
<li>Preferences: Configure minimum time between notifications</li>
<li>Preferences: Group language settings</li>
<li>Attempt to fix BLE connection issues on Samsung S devices</li>
<li>Week sleep and steps charts: display balance (actual value vs. desired value) </li>
<li>Live Activity: show current/maximum heart rate, display minute steps and total steps and more improvements</li>
<li>Live Activity: fix discrepancy between number of steps in Gadgetbridge and wearable device</li>
<li>Fix missing caller ID for incoming calls on Android 9</li>
<li>Support for easy sharing of log files via the Debug screen</li>
<li>Misc small bugfixes</li>
</ul>Gadgetbridge 0.29.0: Support for ID115 and Lenovo Watch 9!2018-08-12T00:00:00+02:002018-08-12T00:00:00+02:00Andreas Shimokawatag:blog.freeyourgadget.org,2018-08-12:/release-0_29_0.html<p>Gadgetbridge 0.29.0 has been tagged today and will show up on F-Droid
(hopefully) soon.</p>
<p>The highlight of this release is initial support for the ID115 (Contributed
by Vadim Kaushan) and Lenovo Watch 9 (contributed by "maxirnililan"). Many
thanks to both of you!</p>
<p>We also fixed a lot of …</p><p>Gadgetbridge 0.29.0 has been tagged today and will show up on F-Droid
(hopefully) soon.</p>
<p>The highlight of this release is initial support for the ID115 (Contributed
by Vadim Kaushan) and Lenovo Watch 9 (contributed by "maxirnililan"). Many
thanks to both of you!</p>
<p>We also fixed a lot of bugs and added new features for Mi Band 3, Amazfit Bip,
Amazfit Cor and NO1 F11. Feature-wise, most notable is initial music control
support for the Amazfit Cor. We expect that this will also become available
on the Amazfit Bip later, but currently it seems to be unsupported by the
current Bip firmware.</p>
<p>There are also some visual changes, like the new Mi Band 2/3 icon and a new
splash screen.</p>
<p>Overall, outside (non core team) contributions were really great during this
0.29.0 cycle. Keep it coming ;)</p>
<h4>Changelog for the 0.29.0 release</h4>
<ul>
<li>New Device: Initial support for ID115</li>
<li>New Device: Initial support for Lenovo Watch9</li>
<li>Show splash screen during startup</li>
<li>Vertically align device icon in main activity</li>
<li>Try to support the google clock application (untested)</li>
<li>Amazfit Cor: Allow to configure displayed menu items</li>
<li>Amazfit Cor: Support basic music control</li>
<li>Amazfit Cor: Fix flashing font files</li>
<li>Amazfit Bip: improved GPX export</li>
<li>Amazfit Bip: Fix exported GPX file names for *FAT storage</li>
<li>Amazfit Bip: Fix current weather not being displayed with later firmwares</li>
<li>Amazfit Bip/Cor: Try to fix device being sometimes stuck in connecting state</li>
<li>Mi Band 2: Put some device specific settings into its own settings category</li>
<li>Mi Band 3: Support disabling of on-device menu items</li>
<li>Mi Band 3: Support locking the Mi Band screen (swipe up to unlock)</li>
<li>Mi Band 2/3: New icon</li>
<li>NO1 F1: Set time during initialization</li>
</ul>Gadgetbridge 0.28.0: ZeTime and Mi Band 3 support!2018-07-19T00:00:00+02:002018-07-19T00:00:00+02:00Andreas Shimokawatag:blog.freeyourgadget.org,2018-07-19:/release-0_28_0.html<p>Gadgetbridge 0.28.0 has just been tagged and will show up on F-Droid soon.</p>
<p>The highlight of this release is initial experimental support for the ZeTime which was
contributed by Sebastian Kranz. Thanks Sebastian!</p>
<p>We also managed to make the Mi Band 3 working with Gadgetbridge starting
with 0 …</p><p>Gadgetbridge 0.28.0 has just been tagged and will show up on F-Droid soon.</p>
<p>The highlight of this release is initial experimental support for the ZeTime which was
contributed by Sebastian Kranz. Thanks Sebastian!</p>
<p>We also managed to make the Mi Band 3 working with Gadgetbridge starting
with 0.28.0 and most features seem to work well already.</p>
<p>Further notable enhancements have been done to the firmware detection code
for Bip and Cor to fix problems with the new version scheme.</p>
<p>There might be one point release for the 0.28.x series, but we expect to
release 0.29.0 soon, since there is more new device support in the pipeline
:)</p>
<h4>Changelog for the 0.28.0 release</h4>
<ul>
<li>Initial support for ZeTime</li>
<li>Amazfit Bip/Cor: Rework firmware detection to cope with new version scheme</li>
<li>Amazfit Bip: Support setting language to Russian</li>
<li>Amazfit Cor: Support language switching on newer firmwares</li>
<li>Mi Band 3: support setting language (english and spanish tested)</li>
<li>Mi Band 3: Fix pairing</li>
<li>Mi Band 3: Send AQI to enable display of current temperature</li>
</ul>2000 stars and counting2018-05-09T00:00:00+02:002018-05-09T00:00:00+02:00Daniele Gobbettitag:blog.freeyourgadget.org,2018-05-09:/2000-stars-and-counting.html<p>Initiated in 2015 with the aim of providing pebble users freedom from the vendor servers (it's ironic that at the time of this writings the pebble servers will be shutdown in a few weeks, but I digress..), Gadgetbridge as of today:</p>
<ul>
<li>issued <strong>129 releases</strong> (on f-droid.org)</li>
<li>supports more than …</li></ul><p>Initiated in 2015 with the aim of providing pebble users freedom from the vendor servers (it's ironic that at the time of this writings the pebble servers will be shutdown in a few weeks, but I digress..), Gadgetbridge as of today:</p>
<ul>
<li>issued <strong>129 releases</strong> (on f-droid.org)</li>
<li>supports more than <strong>10 wearable devices</strong> by several vendors</li>
<li>is translated to more than <strong>25 languages</strong> (on weblate.org)</li>
<li>successfully appealed one DMCA take-down notice</li>
<li>received more than <strong>3300 commits</strong> to master branch and counts more than <strong>330 forks</strong> (on github.com)</li>
<li>included (merged) more than <strong>150 pull requests</strong> (on github.com)</li>
<li>has more than <strong>100 contributors</strong> (committers, including translators)</li>
<li>receives donations by over <strong>30 patrons</strong> (on liberapay.com)</li>
<li>last but not least: it reached <strong>2000 stars</strong> (on github.com)</li>
</ul>
<p>In the tech world lately everything seems to be about data and metrics, you might notice that one number is missing in the list above, namely the users' count. <strong>We don't have that number</strong> and as a free-software, community-driven project we are in the happy situation that we don't have to care for such an indicator either!</p>
<p>As you might have guessed from the title, this post is about celebrating the 2000th star on github.com, which might open interesting new opportunities for the project.</p>
<p>Thanks to an offer announced <a href="https://blog.discourse.org/2016/03/free-discourse-forum-hosting-for-community-friendly-github-projects/">two years ago</a> and still available - to the best of our knowledge - we will hopefully be able to get an instance of discourse to grow our community even stronger, and to ease the load of the github issue tracker.
We are looking forward to having this additional communication channel toward our users and supporters, as well as a platform which is more accessible to non-developers than github.com</p>
<p>Meanwhile, if you want to start contributing but are unsure how to proceed, you can choose one of the <a href="https://github.com/Freeyourgadget/Gadgetbridge/issues?q=is%3Aopen+is%3Aissue+label%3A%22help+wanted%22">issues marked as "help wanted"</a>, help us <a href="https://hosted.weblate.org/engage/freeyourgadget/">with the translations</a> or <a href="https://liberapay.com/Gadgetbridge/">become a patron</a>. If your favorite device is not supported, why don't you <a href="https://github.com/Freeyourgadget/Gadgetbridge/wiki/New-Device-Tutorial">add support for it</a>? </p>
<h3>Closing thoughts and thanks</h3>
<p>Special thanks go to the projects <a href="https://f-droid.org">f-droid.org</a>, <a href="https://liberapay.com">liberapay.com</a> and <a href="https://weblate.org">weblate.org</a>. We are proud to encourage the usage of <strong>free-libre software tools and platforms</strong> wherever possible, and bringing users in contact with projects they possibly weren't aware of. </p>Gadgetbridge 0.26.0: free your workouts on the amazfit bip2018-04-15T00:00:00+02:002018-04-15T00:00:00+02:00Andreas Shimokawatag:blog.freeyourgadget.org,2018-04-15:/release-0_26_0.html<p>Gadgetbridge 0.26.0 has just been tagged and will show up on F-Droid soon.</p>
<p>The highlight of this release is the added feature that allows to export
the activities (workouts) recorded with the Amazfit Bip.</p>
<p>This feature is not perfect yet, but already works quite well. The most
notable …</p><p>Gadgetbridge 0.26.0 has just been tagged and will show up on F-Droid soon.</p>
<p>The highlight of this release is the added feature that allows to export
the activities (workouts) recorded with the Amazfit Bip.</p>
<p>This feature is not perfect yet, but already works quite well. The most
notable limitation is that only one track can be synced at a time.</p>
<p>In Gadgetbridge, push the running man icon in the device card
and then press the sync floating action button or swipe down. <strong>Please note that only one
workout will be fetched, you have to sync again to get the next activity
and so on</strong>, automatic fetching will be added in a later release. Please
<a href="https://github.com/Freeyourgadget/Gadgetbridge">join our efforts</a> if you can contribute.</p>
<p>All workout types are supported and for outside activities (like Walking, Running, Cycling, ...)
that contain GPS data, a GPX file can be exported to your phone or shared with
any android application. The GPX file also contains Heart Rate data, if it was
recorded.</p>
<p>Please be aware that not every detail of the workout is currently being stored
in Gadgetbridge, so if you care about additional information like the calories count,
pace, etc. you should keep the activities on the watch.</p>
<p>Further enhancements are related to the weather, the wind speed and direction
are now fetched from all the supported
sources (Lineage OS weather provider, Omnirom and the Weather notification app)
and are forwarded to connected gadgets (where supported).</p>
<h4>Changelog for the 0.26.0 release</h4>
<ul>
<li>Amazfit Bip: Initial support for GPS tracks</li>
<li>Pebble: Wind speed/direction support and bugfixes for weather when using background javascript</li>
</ul>Gadgetbridge 0.23.0 released with support for LineageOS weather provider2017-12-17T00:00:00+01:002017-12-17T00:00:00+01:00Andreas Shimokawatag:blog.freeyourgadget.org,2017-12-17:/release-0_23_0.html<p>Gadgetbridge 0.23.0 has just been tagged and will show up on F-Droid soon.</p>
<p>The highlight of this release is the addition of CyanogenMod/LineageOS weather
provider support. This means that you no longer need the "Weather
Notification" app to be able to see weather information on your wearable …</p><p>Gadgetbridge 0.23.0 has just been tagged and will show up on F-Droid soon.</p>
<p>The highlight of this release is the addition of CyanogenMod/LineageOS weather
provider support. This means that you no longer need the "Weather
Notification" app to be able to see weather information on your wearable if
you a LineageOS or CyanogenMod user.</p>
<p>Simply install a weather provider from https://download.lineageos.org/extras
and set the weather location withing Gadgetbridge's settings.</p>
<h4>Changelog for the 0.23.0 release</h4>
<ul>
<li>Initial support for LineageOS/CyanogenMod weather provider</li>
<li>Amazfit Bip/Cor: Support for current weather temperature</li>
<li>Amazfit Bip/Cor: Display firmware version and type also for non-whitelisted firmware files</li>
</ul>Gadgetbridge 0.22.0 finally merges Pebble background JS, supports new devices2017-10-25T00:00:00+02:002017-10-25T00:00:00+02:00Andreas Shimokawatag:blog.freeyourgadget.org,2017-10-25:/release-0_22_0.html<p>Gadgetbridge 0.22.0 has just been tagged and will show up on F-Droid soon.</p>
<p>This is an exciting milestone, since finally our longstanding background
javascript branch has been merged!
When enabled, this allows pebble apps and watchfaces to execute the javascript
code bundled with .pbw files to be executed …</p><p>Gadgetbridge 0.22.0 has just been tagged and will show up on F-Droid soon.</p>
<p>This is an exciting milestone, since finally our longstanding background
javascript branch has been merged!
When enabled, this allows pebble apps and watchfaces to execute the javascript
code bundled with .pbw files to be executed on the phone.
In pracice this means that a lot of watchfaces will be able to display
weather and phone battery status without Gadgetbridge needing special
support for specific watchfaces.</p>
<p>In the future it might mean that watchfaces will also be able to fetch
information from the internet by using an to-be-developed addon app for
Gadgetbridge.</p>
<p>0.22.0 also adds experimental and mostly untested support for the following
devices:</p>
<ul>
<li>Amazfit Cor (firmware update completely untested)</li>
<li>Mi Band HRX (firmware update not supported yet)</li>
</ul>
<p>In addition, the release contains bugfixes and improvements for our already
supported devices,</p>
<h4>Changelog for the 0.22.0 release</h4>
<ul>
<li>Pebble: Experimental support for background javascript, allows weather and other features for watchapps without special Gadgetbridge support</li>
<li>Add experimental support for Amazfit Cor and Mi Band HRX (no firmware update on the latter)</li>
<li>Mi Band 2: Support more icons and textual notifications for more apps</li>
<li>Add some quick action buttons to Gadgetbridge's notification</li>
<li>Add transliteration support for ukranian cyrillic charaters</li>
<li>Fix annoying toast in Mi Band settings</li>
</ul>Gadgetbridge 0.21.3/0.21.4 with exciting news for Mi2/Bip users2017-10-01T00:00:00+02:002017-10-01T00:00:00+02:00Andreas Shimokawatag:blog.freeyourgadget.org,2017-10-01:/release-0_21_4.html<p>Gadgetbridge 0.21.3 has been released on F-Droid (0.21.4 is also ready and will
appear on F-Droid after the build and indexing process has finished)</p>
<p>One day after we found out that the Amazfit Bip firmware 0.0.9.14 (included
in Mifit 3.1.0) had …</p><p>Gadgetbridge 0.21.3 has been released on F-Droid (0.21.4 is also ready and will
appear on F-Droid after the build and indexing process has finished)</p>
<p>One day after we found out that the Amazfit Bip firmware 0.0.9.14 (included
in Mifit 3.1.0) had an English translation inside, we implemented support
for switching the language and tagged 0.21.3 right away, making that the
only (but important) change in that release.</p>
<p>Then only about 24h later we finally found a solution for bringing activity data
parsing for newer Mi Band 2/Amazfit Bip firmwares on par with older firmwares.
Thanks to everyone commenting in the issue tracker and describing their
observations regaing their activity data! While fixing the code, we found and
fixed another ancient issue that resulted in wrong activity data under some
cirmcumstances and affected all firmwares,</p>
<p>TL;DR: You can finally update to the latest Mi Band 2 and Amazfit Bip firmwares
without loosing sleep detection in Gadgetbridge! ;)</p>
<p>Oh and before I forget, you can now help Gadgetbridge and win a T-Shirt!
For details head over to:</p>
<p><a href="https://hacktoberfest.digitalocean.com/">https://hacktoberfest.digitalocean.com/</a></p>
<h3>Changelogs</h3>
<h4>Version 0.21.4</h4>
<ul>
<li>Mi2/Bip: Fix sleep detection for newer firmwares</li>
<li>Mi2/Bip: Fix ancient bug resulting in wrong activity data at the beginning in diagrams and aggregate data</li>
<li>No.1 F1: Support setting time format and distance units (metric/imperial)</li>
<li>Pebble: Support setting distance units to miles for Health (need to reactivate Health in App Manager after toggling)</li>
<li>HPlus: Make changing distance unit system effective immediately on toggling</li>
</ul>
<h4>Version 0.21.3</h4>
<ul>
<li>Amazfit Bip: Auto-switch language on connect (English, Simplified Chinese, Traditional Chinese), requires FW 0.0.9.14+</li>
</ul>Gadgetbridge 0.21.0 adds support for two new devices2017-09-19T00:00:00+02:002017-09-19T00:00:00+02:00Andreas Shimokawatag:blog.freeyourgadget.org,2017-09-19:/release-0_21_0.html<p>Gadgetbridge 0.21.0 (and 0.21.1) have been released a a few days ago. So
this blog post is a bit late.</p>
<p>Less then one month after our last version bump, we bumped again since we had
the oppurtunity to add TWO new devices though pull request from …</p><p>Gadgetbridge 0.21.0 (and 0.21.1) have been released a a few days ago. So
this blog post is a bit late.</p>
<p>Less then one month after our last version bump, we bumped again since we had
the oppurtunity to add TWO new devices though pull request from new contributors:</p>
<ul>
<li>NO.1 F1 support by Vitaly Svyastyn</li>
<li>Teclast H30 support by Sami Alaoui</li>
</ul>
<p>In addition, the realease contains a lot of bugfixes and improvements for
our already supported devices, like the Pebble and the Amazfit Bip.</p>
<h3>Changelogs for the 0.21.x releases</h3>
<h4>Version 0.21.1</h4>
<ul>
<li>Initial support for EXRIZU K8 (HPLus variant)</li>
<li>Amazfit Bip: fix long messages not being displayed at all</li>
<li>Mi Band 2: Support multiple button actions</li>
<li>NO.1 F1: Fetch sleep data</li>
<li>NO.1 F1: Heart rate support</li>
<li>Pebble: Support controlling the current active media playback application</li>
<li>Fix suspended activities coming to front when rotating the screen</li>
</ul>
<h4>Version 0.21.0</h4>
<ul>
<li>Initial NO.1 F1 support</li>
<li>Initial Teclast H30 support</li>
<li>Amazfit Bip: Display GPS firmware version</li>
<li>Amazfit Bip: Fix E-Mail notifications</li>
<li>Amazfit Bip: Fix call notification with unknown caller</li>
<li>Amazfit Bip: Fix crash when weather is updated and device reconnecting</li>
<li>Mi2/Bip: Fix crash when synchronizing calendar to alarms</li>
<li>Pebble: Fix crash when takeing screenshots on Android 8.0 (Oreo)</li>
<li>Pebble: Support some google app icons</li>
<li>Pebble: try to support spotify</li>
<li>Mi Band 2: Support configurable button actions</li>
<li>Fix language being reset to system default</li>
</ul>Beware of unknown APKs online2017-09-03T00:00:00+02:002017-09-03T00:00:00+02:00Daniele Gobbettitag:blog.freeyourgadget.org,2017-09-03:/beware-of-unknown-apks-online.html<p><em>Il testo in italiano si trova in calce. Italian text follows.</em></p>
<h4>It has been brought to our attention that several websites provide APKs of Gadgetbridge instead of linking to the official release on F-Droid</h4>
<p>This is happening a lot lately thanks to Gadgetbridge being able to flash custom firmwares to …</p><p><em>Il testo in italiano si trova in calce. Italian text follows.</em></p>
<h4>It has been brought to our attention that several websites provide APKs of Gadgetbridge instead of linking to the official release on F-Droid</h4>
<p>This is happening a lot lately thanks to Gadgetbridge being able to flash custom firmwares to the <code>Amazfit Bip</code> device.</p>
<h3>We strongly advise against installing APKs that are not verifiably built from our sources and instead do the following:</h3>
<ul>
<li>Install <a href="https://f-droid.org/">f-droid</a> and use it to install Gadgetbridge. <strong>This ensures that your device will get all new releases of Gadgetbridge</strong></li>
<li><em>alternatively</em> install the <a href="https://f-droid.org/packages/nodomain.freeyourgadget.gadgetbridge/">APK downloaded from the f-droid website</a>.</li>
<li>If you are a developer and would like to build from source, <a href="https://github.com/Freeyourgadget/Gadgetbridge">you can clone our repository</a></li>
</ul>
<p>Unverified apks are probably out-of-date, introduce bugs and might contain undesired <em>anti-features</em> such as <strong>malware</strong>, <strong>advertising</strong>, etc.</p>
<h4>Know your rights</h4>
<p>Gadgetbridge is released under the AGPLv3 License, this allows the distribution also in binary form (apk) <strong>but requires the corresponding sources to be distributed</strong> as well. If you notice a website that is hosting the apk, you have the right to receive the sources of that apk, and we invite you to request them from the website owners.</p>
<p>Support us on Liberapay: <script src="https://liberapay.com/Gadgetbridge/widgets/button.js"></script>
<noscript><a href="https://liberapay.com/Gadgetbridge/donate"><img src="https://liberapay.com/assets/widgets/donate.svg"></a></noscript></p>
<h2>Italian text</h2>
<h4>Ci è stato fatto notare che diversi siti web mettono a disposizione delle versioni di Gadgetbrige direttamente, anzichè linkare la release ufficiale su F-Droid</h4>
<p>Questo succede molto spesso ultimamente dato che Gadgetbridge è in grado di installare firmware modificati sul dispositivo <code>Amazfit Bip</code>. </p>
<h3>Noi sconsigliamo assolutamente l'installazione di APK la cui corrispondenza al codice sorgente non possa essere verificata, e procedere come segue:</h3>
<ul>
<li>Installare <a href="https://f-droid.org/">f-droid</a> e usarlo per installare Gadgetbridge. <strong>In questo modo il dispositivo riceverà anche tutti gli aggiornamenti di Gadgetbridge</strong></li>
<li><em>in alternativa</em> installare <a href="https://f-droid.org/packages/nodomain.freeyourgadget.gadgetbridge/">l'apk scaricato direttamente dal sito di F-Droid</a>.</li>
<li>Per gli sviluppatori che possono compilare da sorgenti, <a href="https://github.com/Freeyourgadget/Gadgetbridge">è possibile clonare il nostro repository</a></li>
</ul>
<p>APK non verificati sono probabilmente obsoleti, possono introdurre bug così come contenere <em>caratteristiche indesiderate</em> quali ad esempio <strong>malware</strong>, <strong>pubblicità</strong> etc.</p>
<h4>Conosci i tuoi diritti</h4>
<p>La licenza AGPLv3 di Gadgetbridge consente la distribuzione sotto forma di binari (apk) <strong>solo se accompagnati dalla possibilità di accedere ai sorgenti corrispondenti</strong>. Se noti un sito che mette a disposizioneun apk di Gadgetbridge, hai il diritto di richiedere i sorgenti corrispondenti all'apk, e ti invitiamo a richiederlo ai responsabili del sito web in questione. </p>Gadgetbridge 0.20.0 adds Amazfit Bip support, project accepting donations now2017-08-22T00:00:00+02:002017-08-22T00:00:00+02:00Andreas Shimokawatag:blog.freeyourgadget.org,2017-08-22:/release-0_20_0-amazfitbip-donations.html<p>Gadgetbridge 0.20.0 (and 0.20.1) have been tagged and will be on f-droid soon.</p>
<p>We are very excited about the release, since we now officially support the
Amazfit Bip. Except for workout and importing GPS data, nearly all features
are already working.</p>
<p>We also like to mention …</p><p>Gadgetbridge 0.20.0 (and 0.20.1) have been tagged and will be on f-droid soon.</p>
<p>We are very excited about the release, since we now officially support the
Amazfit Bip. Except for workout and importing GPS data, nearly all features
are already working.</p>
<p>We also like to mention that we are accepting donations via Liberapay now.
If you like Gadgetbridge, please consider donating in order to sustain Gadgetbridge's development.</p>
<p>Click on the Liberapay button below for more details!</p>
<h3>Changelogs for the 0.20.x releases</h3>
<h4>Version 0.20.1</h4>
<ul>
<li>Amazfit Bip: Support icons and text body for notifications</li>
<li>Mi Band: Fix setting smart alarms</li>
</ul>
<h4>Version 0.20.0</h4>
<ul>
<li>Initial Amazfit Bip support (WIP)</li>
<li>Various theming fixes</li>
<li>Add workaround for blacklist not properly persisting</li>
<li>Handle resetting language to default properly</li>
<li>Pebble: Pass booleans from Javascript Appmessage correctly</li>
<li>Pebble: Make local configuration pages work on most recent webview implementation</li>
<li>Pebble: Allow to blacklist calendars</li>
<li>Add Greek and German transliteration support</li>
<li>Various visual improvements to charts</li>
</ul>
<p>Please join us if like <a href="https://github.com/Freeyourgadget/Gadgetbridge/">Gadgetbridge</a>, help us improve it, add support for new devices, translate it or help with documentation.</p>Our DMCA takedown: a post-Mortem2017-07-12T00:00:00+02:002017-07-12T00:00:00+02:00Daniele Gobbettitag:blog.freeyourgadget.org,2017-07-12:/our-dmca-takedown-a-post-mortem.html<p>This is a post-Mortem of the DMCA takedown notice that hit Gadgetbridge in June 2017, written by two core developers of the project.</p>
<p>First things first: We would like to thank all the people who sent us their support via mail, social networks, chat and other means.</p>
<p>As everyone does …</p><p>This is a post-Mortem of the DMCA takedown notice that hit Gadgetbridge in June 2017, written by two core developers of the project.</p>
<p>First things first: We would like to thank all the people who sent us their support via mail, social networks, chat and other means.</p>
<p>As everyone does in this case, let's start with the:</p>
<p><strong>tl;dr:</strong> We were surprised to have been hit by a DMCA takedown notice on Github. We decided to file a counter notice because we stand firm in our belief that <strong>no content in our repository ever violated US or EU laws</strong> including but not limited to the DMCA. We are happy the project is back online and available for the community. </p>
<p>Reaching the conclusion of the story was an interesting journey that we would like to share with our supporters. We also learned a lot in the process, and we would like to share our experience in the spirit of open knowledge that always permeated Gadgetbridge.</p>
<h3>About us</h3>
<p>We are three persons spread across Europe: each with his own job, family and hobbies. We share a passion for solving problems and strive to keep our "digital footsteps" as private as possible: hence we never quite liked the fact of being forced to rely on services outside of our control to manage our personal devices. That's why Gadgetbridge was started in January 2015 and that's why it attracted two more core developers and many contributors to the source code, the graphical assets and the documentation (wiki).</p>
<h3>We were not expecting this</h3>
<p>The whole Gadgetbridge project - code, communication and documentation - has always been in the open and publicly accessible: hence we were assuming that also criticism would have been disclosed, discussed and solved in the open.
Instead the copyright holder of a third party app (that supports a subset of the devices supported by Gadgetbridge) felt that our work was in violation of his IP and filed a <a href="https://github.com/github/dmca/blob/master/2017/2017-06-02-MiBandTools.md">DMCA takedown notice to Github</a>. For reasons inexplicable to us, despite the takedown notice containing only references to content posted to our issue tracker, it included the main repository URL among the problematic URLs.
This fact triggers a peculiar behavior in the way Github addresses the notice, namely the <strong>immediate</strong> shutdown of the whole repository (code, issues, wiki, etc.) for the public <strong>and</strong> for the owners.
In other words the Github DMCA takedown process - if the notice targets the whole repository - leaves no place to confrontation: it's a sword of Damocles stealthily hanging over your head.</p>
<p><strong>The Gadgetbridge repository was closed in the early morning of Saturday June 3rd.</strong></p>
<h3>Now what?!?</h3>
<p>After the takedown notice hits, you can't do anything but file an official counter notice to Github. Some of us core developers and some of our users tried to contact Github support to signal that the takedown of the whole repository was possibly an error, receiving only standard replies back: <em>we believe</em> that once the takedown process is initiated, the "normal" support isn't able to do anything; for sure it didn't in our case.</p>
<p>If you want your repository back you <strong>have</strong> to go through the filing of a counter notice.
Before taking this step Github advises to get in touch with an lawyer, and since one of the prerequisites is consenting to the jurisdiction of a US Federal Court we took that advice very seriously: we are (fortunately) not familiar with courts and laws, on either side of the pond.</p>
<h3>Our reactions, others' reactions</h3>
<p>We had - and still have - a clear conscience and while we were looking for legal advice we were also reaching out publicly - on twitter and reddit - to explain why we thought that takedown was exaggerate and also highlighted that who initiates a takedown notice can also send a retraction to Github.
Meanwhile already several people reached out to us via mail offering support and financial help for handling this situation. In the next days our case was mentioned as <a href="https://www.adamhyde.net/another-good-reason-not-to-use-github/">"Another Good Reason not to use Github"</a> and also <a href="https://www.heise.de/newsticker/meldung/Pebble-Gadgetbridge-unter-Beschuss-3740625.html">a big German news site wrote about it</a>.</p>
<p>We were fortunate enough to get the help of a very competent lawyer in a timely manner (first contact was established during the weekend) and we were reassured by him that our feeling of clear conscience was indeed backed by hard facts, and we could proceed with the counter notice. So we decided to proceed.</p>
<h3>Filing the counter notice</h3>
<p>We read carefully the <a href="http://web.archive.org/web/20170628181124/https://help.github.com/articles/guide-to-submitting-a-dmca-counter-notice/">guide provided by Github</a> and prepared the contents of the counter notice together with the lawyer, the result was submitted by our lawyer at first using the web form provided by Github. Apart for a confirmation message, we didn't get any further acknowledgment.</p>
<p>A few days later - not having heard anything back - our lawyer submitted the counter notice again, via mail.
This time an email reply came back, stating that personal information of at least one of the repository owners <em>must</em> be included in the counter notice. We didn't do it in the first place given the following passage of <a href="http://web.archive.org/web/20170628181124/https://help.github.com/articles/guide-to-submitting-a-dmca-counter-notice/">the guide</a>:</p>
<blockquote>
<p>If you are concerned about your privacy, you may have a lawyer or other legal representative file the counter notice on your behalf.</p>
</blockquote>
<p>We agreed upon adding the contact information of one of us in order to speed up the process, despite the text cited above. The amended version was promptly submitted.
One week later, not having heard anything back, we reached out to Github to understand if things were somehow progressing or if there were other issues in processing out counter notice. We had to wait a couple of days before getting an acknowledgment.</p>
<p>Fast forward to June 27 when the counternotice was <a href="https://github.com/github/dmca/blob/master/2017/2017-06-20-MiBandTools-Counter-Notice.md">published in the DMCA repository on Github</a>. At the same time we received a reply from Github to our mails, where they basically announced to us that the counter notice was published.</p>
<h3>The repository is available again</h3>
<p>After 10 business days the repository was suddenly made available again without further notices from Github. As we agreed to the removal of the issues mentioned in the takedown notice <strong>despite there is no copyright infringement involved</strong> we closed the issue tracker as soon as we got access, this way we can check if Github cleaned the offending URLs or if we should do it. The issue tracker will be re-opened again as soon as this check has been completed.</p>
<p>We were also surprised because almost immediately upon its availability some Pull Requests were submitted to the repository. <strong>We believe this is quite telling on how strong and motivated the community around the project is.</strong></p>
<h3>The future</h3>
<p>In the few weeks when our repository was unavailable we thought about future scenarios: on the one hand we could have moved our code anytime anywhere (the code was actually safe on each of the developers' machines) on the other hand we realized how much value the metadata of the project is worth.
In two and a half years a lot of knowledge was put in our wiki by various contributors, same for the discussions that took place in the issues / pull requests.
Github is a valuable resource for free software projects, because it allows to reach a huge community and provides useful tools. We underestimated the "lock-in" effect though.</p>
<p>We are currently establishing an online presence that goes beyond Github, without requiring too much efforts to be maintained.
So far we have set up:</p>
<ul>
<li>a static homepage available under <code>https://gadgetbridge.org</code> (which is an automatically updated copy of the project's <code>README.md</code> file)</li>
<li>the blog you are currently reading: <code>https://blog.freeyourgadget.org</code> (where content is manually written, hence could be updated less often)</li>
<li>automatic procedures to back up the entire content of our Github repository (this includes the wiki, issues and pull requests) thanks to the great <a href="http://github-backup.branchable.com">github-backup tool</a></li>
</ul>
<p>We also contacted some git hosting providers outside of the U.S.: we neglected the distributed nature of git by relying on a single hosting provider and we intend to act differently in the future. More details will follow.</p>
<p>We also realized how vulnerable a small free software project maintained by few individuals in their free time could be: we contacted a variety of free software organizations - from a very local level to Europe-wide - and have found great support in them. There are so-called umbrella organizations which take care also of the legal side of free software development, including enforcing the source code license and representing a project in courts. Also to this end more details will follow.</p>
<p>You can reach the core developers via mail at <code>all</code> <code>[at) freeyourgadget</code>·<code>org</code> if you have questions, suggestions or criticism. <em>(yes, the address is formatted weirdly but a human should be able to parse it)</em></p>
<h3>Lessons learned</h3>
<ul>
<li>Despite the wording, when a Github repository is closed due to a DMCA takedown notice, the access is not only disabled for the public, but also for the owners.</li>
<li>The counter notice is processed by Github internally without giving any information about its progress: you submit the counternotice and wait - in our case 12 days - until it's public.</li>
<li>Github does not give visibility to a submitted counter notice on the repository, only the original takedown notice will be linked from the repository until it opens again.</li>
<li>At the end of the 10-business-days window, it's best to monitor the repository constantly, as it will be opened again without any notice. This is true especially if some content must be removed.</li>
<li>A local copy of the whole repository is invaluable, even though every developer has the full history of the code base there is so much more to keep a backup of. There are free software tools that make this easy and there's no reason to not be using those.</li>
</ul>
<h3>Timeline of the events and reactions</h3>
<ul>
<li>June 3rd: Takedown notice published, access to repository disabled</li>
<li>June 6th: First version of the counter notice drafted together with the lawyer</li>
<li>June 7th: A <a href="https://www.adamhyde.net/another-good-reason-not-to-use-github/">blog post by Adam Hide</a> is published</li>
<li>June 8th: Web submission of the counter notice</li>
<li>June 12th: Email submission of the same counter notice due to lack of feedback from Github</li>
<li>June 13th: An <a href="https://www.heise.de/newsticker/meldung/Pebble-Gadgetbridge-unter-Beschuss-3740625.html">article in German about our case</a> is published </li>
<li>June 14th: Email reply from Github: the counter notice must contain the details of one of the owners</li>
<li>June 15th: Email submission of the amended counter notice</li>
<li>June 20th: A <a href="http://tiempoescaso.es/blog/disperso-s01e44-la-fragilidad-del-software-libre-caso-gadgetbridge/">podcast in Spanish about our case</a> is published</li>
<li>June 27th: Counter notice published</li>
<li>July 11th: Gadgetbridge repository opens again</li>
<li>July 12th: Post-Mortem published</li>
</ul>Gadgetbridge repository reopened by Github2017-07-11T00:00:00+02:002017-07-11T00:00:00+02:00Gadgetbridge developerstag:blog.freeyourgadget.org,2017-07-11:/gadgetbridge-repository-reopened-by-github.html<p>Today, Github finally reopened our repository including wiki, issues and all
other content, since the 14 days waiting period, which started after they
published our <a href="https://github.com/github/dmca/blob/master/2017/2017-06-20-MiBandTools-Counter-Notice.md">Counter Notice</a>
is over now.</p>
<p>We want to thank all the great people who supported us during the last five weeks!</p>
<p>The issue tracker is …</p><p>Today, Github finally reopened our repository including wiki, issues and all
other content, since the 14 days waiting period, which started after they
published our <a href="https://github.com/github/dmca/blob/master/2017/2017-06-20-MiBandTools-Counter-Notice.md">Counter Notice</a>
is over now.</p>
<p>We want to thank all the great people who supported us during the last five weeks!</p>
<p>The issue tracker is disabled on purpose for now, but will re-open it during
the next few days!</p>Gadgetbridge Github DMCA Counter Notice2017-06-30T00:00:00+02:002017-06-30T00:00:00+02:00Gadgetbridge developerstag:blog.freeyourgadget.org,2017-06-30:/gadgetbridge-github-dmca-counter-notice.html<p>Just a quick update on our DMCA Case:</p>
<p>In response to the recent <a href="https://github.com/github/dmca/blob/master/2017/2017-06-02-MiBandTools.md">DMCA Takedown Notice</a>,
we filed a <a href="https://github.com/github/dmca/blob/master/2017/2017-06-20-MiBandTools-Counter-Notice.md">Counter Notice</a></p><p>Just a quick update on our DMCA Case:</p>
<p>In response to the recent <a href="https://github.com/github/dmca/blob/master/2017/2017-06-02-MiBandTools.md">DMCA Takedown Notice</a>,
we filed a <a href="https://github.com/github/dmca/blob/master/2017/2017-06-20-MiBandTools-Counter-Notice.md">Counter Notice</a></p>Gadgetbridge Github DMCA Takedown2017-06-25T00:00:00+02:002017-06-25T00:00:00+02:00Gadgetbridge developerstag:blog.freeyourgadget.org,2017-06-25:/gadgetbridge-github-dmca-takedown.html<p>You may have noticed that our <a href="https://github.com/Freeyourgadget/Gadgetbridge">github repository</a>, including the issue tracker and wiki at github is currently not accessible.</p>
<p>This is because the developer of another app filed a DMCA request and github shut down the entire repository.</p>
<p>We're working on a solution, but it is hard to get …</p><p>You may have noticed that our <a href="https://github.com/Freeyourgadget/Gadgetbridge">github repository</a>, including the issue tracker and wiki at github is currently not accessible.</p>
<p>This is because the developer of another app filed a DMCA request and github shut down the entire repository.</p>
<p>We're working on a solution, but it is hard to get a response from github, so please be patient.</p>Project Gadgetbridge2017-06-25T00:00:00+02:002017-06-25T00:00:00+02:00Gadgetbridge developerstag:blog.freeyourgadget.org,2017-06-25:/project-gadgetbridge.html<p><a href="https://github.com/Freeyourgadget/Gadgetbridge/">Gadgetbridge</a> is an Open Source Android app for interacting with smart watches, smart wristbands, and other gadgets.</p>
<p>Interacting means</p>
<ul>
<li>alerting about notifications by message display/vibration/LEDs for chat messages, mail, calendar events, weather, location, ...)</li>
<li>handling responses</li>
<li>tracking fitness data (activity, steps, distance, heart rate, calories, ...)</li>
<li>tracking and visualizing your …</li></ul><p><a href="https://github.com/Freeyourgadget/Gadgetbridge/">Gadgetbridge</a> is an Open Source Android app for interacting with smart watches, smart wristbands, and other gadgets.</p>
<p>Interacting means</p>
<ul>
<li>alerting about notifications by message display/vibration/LEDs for chat messages, mail, calendar events, weather, location, ...)</li>
<li>handling responses</li>
<li>tracking fitness data (activity, steps, distance, heart rate, calories, ...)</li>
<li>tracking and visualizing your sleep</li>
<li>configuring alarms</li>
<li>control the music player</li>
<li>installing apps on the gadgets</li>
<li>updating the firmware</li>
<li>live activity display</li>
<li>and more</li>
</ul>
<p>Obviously the available features depend on feature set of the actual devices. At the moment the following devices are supported</p>
<ul>
<li>all Pebble smart watches</li>
<li>all Mi Bands</li>
<li>HPlus devices (e.g. ZeBand)</li>
</ul>
<p>Support for further devices is in the works.</p>
<h2>Privacy of Your Data</h2>
<p>The data tracked with Gadgetbridge is stored in Gadgetbridge only. It is not sent or synchronized anywhere, unless you manually export it.</p>
<h2>Download</h2>
<p><a href="https://f-droid.org/repository/browse/?fdfilter=gadgetbridge&fdid=nodomain.freeyourgadget.gadgetbridge">Download Gadgetbridge</a> from F-Droid and install it on your Android phone or tablet.</p>
<p>The source code, issue database and wiki documentation is available at https://github.com/Freeyourgadget/Gadgetbridge</p>
<h2>Development and Community</h2>
<p>Gadgetbridge is a collaborated effort. Please join us and</p>
<ul>
<li>translate Gadgetbridge to further languages</li>
<li>spread the word and grow the community</li>
<li>help other users</li>
<li>add new features</li>
<li>improve the UI</li>
<li>add support for new devices</li>
<li>fix issues</li>
</ul>
<h2>Why</h2>
<p><a href="https://blog.freeyourgadget.org/why-gadgetbridge.html">See here</a> for some reasons why we create Gadgetbridge and why you should consider joining us.</p>
<h2>Legal</h2>
<p>Gadgetbridge is licensed under the GNU Affero GPL (AGPL) 3.0.</p>Why Gadgetbridge2017-06-25T00:00:00+02:002017-06-25T00:00:00+02:00Gadgetbridge developerstag:blog.freeyourgadget.org,2017-06-25:/why-gadgetbridge.html<p><a href="http://blog.freeyourgadget.org/project-gadgetbridge.html">Gadgetbridge</a> is an Open Source Android app for interacting with smart watches, smart wristbands, and other gadgets.</p>
<p>This post explains why we create this app and why you should consider using it.</p>
<h2>Privacy</h2>
<p>Gadgetbridge does not upload your personal data anywhere.</p>
<p>Other apps often require you to create an account …</p><p><a href="http://blog.freeyourgadget.org/project-gadgetbridge.html">Gadgetbridge</a> is an Open Source Android app for interacting with smart watches, smart wristbands, and other gadgets.</p>
<p>This post explains why we create this app and why you should consider using it.</p>
<h2>Privacy</h2>
<p>Gadgetbridge does not upload your personal data anywhere.</p>
<p>Other apps often require you to create an account at one or more companies and provide personal data like your name, email address, age, size, weight, and more.
Smart gadgets then track your daily activity, e.g.</p>
<ul>
<li>when you wake up</li>
<li>when you take a shower</li>
<li>when/how you go to work/school/...</li>
<li>when/if you do sports</li>
<li>when you go to bed</li>
<li>what you're doing in bed</li>
</ul>
<p>Sometimes they even track your location, so they even record <em>where exactly</em> you go partying at night before waking up late next day.</p>
<p>All that data is then uploaded to someone you don't know. <em>Every day</em>. And they can do pretty much everything with your data.</p>
<p>Some people may be fine with this. We also like these gadgets, but we think that much of their functionality can be used <em>without</em> requiring you to upload all your data.</p>
<h2>Gadgetbridge is FLOSS</h2>
<p>We love Free/Libre/Open Source Software. Unlike most other apps for interacting with today's gadgets, you can have a look at how Gadgetbridge communicates with the gadgets. By being able to look at the code</p>
<ul>
<li>you can be certain that your data will stay <em>your</em> data</li>
<li>you can learn how controlling such gadgets works</li>
<li>you can verify that there is no hidden treasure (tojan) in the app</li>
</ul>
<p>You can also make <em>changes</em> to the source code to</p>
<ul>
<li>add new features</li>
<li>support new gadgets</li>
<li>change some thing that annoys you</li>
</ul>
<h2>Fun</h2>
<p>And last, we create Gadgetbridge because it is fun!</p>
<p>So, join us at https://github.com/Freeyourgadget/Gadgetbridge :-)</p>Gadgetbridge 0.12.2 finally released!2016-09-11T00:00:00+02:002016-09-11T00:00:00+02:00Gadgetbridge developerstag:blog.freeyourgadget.org,2016-09-11:/gadgetbridge-0122-finally-released.html<p>After two months of hard work we are pleased to announce the availability of
Gadgetbridge 0.12.2.</p>
<p>For those who don't know, <a href="https://github.com/Freeyourgadget/Gadgetbridge/">Gadgetbridge</a> is
an Open Source Android app for interacting with smart watches (currently Pebble), fitness trackers (currently Mi Band) which does not send your data to any …</p><p>After two months of hard work we are pleased to announce the availability of
Gadgetbridge 0.12.2.</p>
<p>For those who don't know, <a href="https://github.com/Freeyourgadget/Gadgetbridge/">Gadgetbridge</a> is
an Open Source Android app for interacting with smart watches (currently Pebble), fitness trackers (currently Mi Band) which does not send your data to any third parties.</p>
<h2>Visible Changes</h2>
<p>The list of visible changes in the new version is a quick read:</p>
<ul>
<li>Support for Pebble Health on Firmware 4.0</li>
<li>Fixed displaying of deep sleep vs. light sleep for Mi Bands</li>
<li>Moved some data import/export operations to a dedicated screen</li>
<li>Devices are now displayed even if Bluetooth is turned off</li>
</ul>
<h2>So why did it take us that long to release that?</h2>
<p><strong>Answer:</strong> because of <em>many</em> invisible changes under the hood.</p>
<p>The most important change is the much richer database schema and much nicer access to its data, with the help of <a href="http://greenrobot.org/greendao/">greenDAO</a>.</p>
<h2>But it already worked fine before, what are the benefits?</h2>
<p>I'm glad you asked, here they are:</p>
<ul>
<li>
<p>Your activity data (steps, sleep tracking, etc.) is now stored <strong>per device</strong>, <strong>per user</strong> and includes <strong>additional data</strong>. It's all nicely separated, so you will be able to tell exactly with which device, even with which firmware version you ran that marathon back then in 2018. Oh and all your configured user data, e.g. your weight will be associated as well.</p>
</li>
<li>
<p>Per user?? Yes. Gadgetbridge associates your activity data and everything else to a user in your database. At the moment there is just one, but there could be more in a family where not everybody has a smart phone, maybe even some <a href="https://www.fitbark.com/">you didn't think of at all</a>.</p>
</li>
<li>
<p>Now that everything's cleanly separated, we will (in the coming versions) provide ways to better <strong>visualize your data</strong>.</p>
</li>
<li>
<p>You will also be able to <strong>categorize your activity</strong> manually. So far, Gadgetbridge mostly differentiates betweens light sleep, deep sleep and no sleep. But it is already prepared to accept your own activity classification, by tags and descriptions. You will be able to retrospectively tell why your heart rate jumped to 180 bpm in October 2016 when you tag it with "climbed the Monte Baldo by bike".<br>
The tagging might also enable creative people to implement activity recognition algorithms based on the specific patterns captured by the activity trackers.</p>
</li>
<li>
<p>Speaking of heart rate -- we will add <strong>more measurement options</strong> and especially record the measurements in the database, soon.</p>
</li>
<li>
<p>Oh, and now that we have a rather stable database interface, we hope to have a <strong>self hostable synchronization server</strong> at some point. <em>Please contact us if you want to work on this!</em></p>
</li>
<li>
<p>And finally, we will be able to easily integrate data from new devices (e.g. Pebble 2 and Mi Band 2).</p>
</li>
</ul>
<h2>Roundup</h2>
<p>So to sum up, this release is mostly unspectacular for users, except for the few points at the top of this post. </p>
<p>But it is spectacular for our ability to improve the application and add new features.</p>
<p>Please join us if like <a href="https://github.com/Freeyourgadget/Gadgetbridge/">Gadgetbridge</a>, help us improve it, add support for new devices, translate it or help with documentation.</p>
<p>We're also looking for a <strong>discussion forum</strong>, preferably one that supports Github authentication. <a href="http://www.discourse.org/">Discourse</a> would be an option, but so far we have not managed to get a forum on their servers.</p>
<p>Any help is much appreciated.</p>