GadgetBridge es una APP que nos permitirá gestionar nuestro dispositivo smartwatch sin necesidad de recurrir a la APP oficial de sus respectivos proveedores. DE esta forma, no necesitamos crear una cuenta de usuario y tampoco enviaremos nuestros datos personas a estas empresas.

La lista de dispositivos soportados por GadgetBridge está en crecimiento, y por el momento incluye los siguientes dispositivos: Pebble, Pebble Steel, Pebble Time, Pebble Time Steel, Pebble Time Round, Pebble 2, Pebble Time 2, Mi Band, Mi Band 1A, Mi Band 1S, Mi Band 2, Amazfit Band 5, Amazfit Bip, Amazfit Bip Lite, Amazfit Bip S, Amazfit Bip U, Amazfit Cor, Amazfit Cor 2, Amazfit GTR, Amazfit GTS, Amazfit Neo, Vibratissimo y Liveview.

Contexto para este tutorial

Utilizo GadgetBridge desde mi Mi Band 2 y la verdad es que para mi es de las mejores APPs que existen en F-Droid. En la actualidad tengo la Amazfit Bit U Pro y en la última actualización de GadgetBridge, hubo un problema con la sincronización de datos y pensaba que algo le había pasado a mi dispositivo. Sin querer, eliminé el dispositivo de GadgetBridge y por lo tanto, al emparejar de nuevo el dispositivo, éste disponía de un ID diferente y no podía importar los datos antiguos.

Entonces la única opción que tenía era generar un emparejado nuevo del dispositivo, exportar la base de datos e importar un backup antiguo que tenía.

Explicado esto, vamos a ver como importar una base de datos sobre la otra.

Funcionamiento de GadgetBridge

Lo primero que tendremos que hacer es exportar la base de datos actual (la del dispositivo emparejado y que la DB está vacía), para eso: Gadgetbridge > Menu > Data management, Export DB. Esto generará una serie de ficheros en /storage/emulated/0/Android/data/nodomain.freeyourgadget/files/.

Estos son los ficheros exportados:

  • Export_preference – la configuración global de la APP, las preferencias en formato XML.
  • Export_preference_xx:xx:xx:xx:xx:xx – Configuración especifica del dispositivo en formato XML.
  • Gadgetbridge – Actividad, Sueño, datos de actividad. Es la base de datos en formato SQLite.
  • gadgetbridge-track-2020-04-14T17_14_29+02_00.gpx – Son ficheros GPX (contienen datos de GPS, ritmo cardíaco).

Combinar los datos de la antigua exportación de Gadgetbridge en otro dispositivo

Después de hacer un backup tendremos varios ficheros, como que tienen el mismo nombre y se puede liar un poco la cosa, voy ha dejar un resumen previo. Trabajaremos con dos ficheros:

  • Gadgetbridge: Este fichero corresponde al fichero actual emparejado con GadgetBridge.
  • Gadgetbridge_old: Este fichero corresponde al fichero antiguamente emparejado y que disponemos de un backup.

Los descargamos en nuestro ordenador y procedemos a importar los datos de Gadgetbridge_old a Gadgetbridge. Abrimos el fichero Gadgetbrigde con SQLite:

sqlite3 Gadgetbridge

Hacemos un ATTACH del fichero Gadgetbridge_old:

ATTACH 'Gadgetbridge_old' as old;

E importamos los datos con esta consulta:

insert into MI_BAND_ACTIVITY_SAMPLE SELECT * from old.MI_BAND_ACTIVITY_SAMPLE;

Y con esto ya lo tenemos importado, pero hay un problema que explico a continuación.

No importes aún: Hay un pequeño problema

El problema que hay es que las actividades que hemos importado, tienen configurado un ID interno diferente, por lo que hay que actualizar la columna del ID para que pertenezca al mismo ID.

Para esto usaremos SQLiteBrowser, un programa que permite gestionar bases de datos SQLite de forma gráfica.

Lo primero que deberemos de hacer es identificar el ID de nuestro dispositivo, para ello importaremos la base de datos (el fichero GadgetBridge_old) y buscaremos el ID con esta consulta:

SELECT * FROM DEVICE;

Ahora sabemos que el DEVICE_ID de la base de datos antigua tiene el DEVICE_ID igual a 3, ahora abriremos el otro fichero (Gadgetbridge) y haremos lo mismo para identificar el DEVICE_ID actual en la aplicación.

En mi caso, el DEVICE_ID es el 1.

Si miramos en el fichero Gadgetbridge, en la tabla MI_BAND_ACTIVITY_SAMPLE, veremos que hay registros con DEVICE_ID igual a 3, por lo que haremos un SELECT para ver todos esos registros.

SELECT * FROM MI_BAND_ACTIVITY_SAMPLE
WHERE DEVICE_ID=3;

Este DEVICE_ID debe de ser 1 para que al importarlo a Gadgetbridge, se importe correctamente en el mismo dispositivo emparejado. Por lo que nos tocará hacer un UPDATE de esa columna.

UPDATE MI_BAND_ACTIVITY_SAMPLE SET DEVICE_ID = 1
WHERE DEVICE_ID = 3

Y listo, ya tenemos los datos de las actividades actualizada al nuevo dispositivo.

Importar base de datos de actividades

Los archivos previamente exportados a través de la función de exportación pueden ser reimportados (¡Los datos actuales serán sobrescritos!) colocando los archivos previamente exportados en la carpeta de exportación/importación, por ejemplo /storage/emulated/0/Android/data/nodomain.freeyourgadget/files/Gadgetbridge.

A continuación ve a Gestión de datos > Importar los datos y deberías de tener de nuevo tus datos importados en GadgetBridge 🙂

Como siempre, toda esta información está disponible en la excelente Wiki de GadgetBridge.

Haz que cada palabra cuente: tu donación nos inspira a seguir creando contenido. Accede al apartado de Donación para hacer tu aportación