Saltar al contenido principal

Integración domótica Life360, gratuita y de código abierto

Integración Life360 para Gladys Assistant

Presencia familiar en Gladys: quién está en casa, lugares, batería, con Life360.

Esta integración trae a Gladys los miembros de sus círculos de Life360: quién está en casa, dónde está cada uno, la batería de su teléfono y su distancia de casa. Por ejemplo: activar la alarma cuando sale la última persona, subir la calefacción cuando alguien vuelve a casa o recibir un mensaje cuando una batería está baja.

Life360 no tiene API pública oficial. La integración usa la API de la app móvil Life360, como la integración de Home Assistant. Life360 puede cambiarla sin previo aviso.

Requisitos​

  • Gladys Assistant 5.3 o más reciente.
  • Una cuenta de Life360 que pertenezca a los círculos que quiere seguir.
  • Idealmente, las coordenadas de su casa en Gladys (Ajustes → Casas): sirven para saber quién está «en casa» y para calcular la distancia de casa.

1. Obtener su token de acceso de Life360​

Life360 rechaza ahora a menudo el inicio de sesión con usuario y contraseña (pide un código de verificación que la integración no puede escribir). La vía fiable: copiar una vez el token de acceso desde la web de Life360.

  1. En un ordenador, abra una ventana de navegación privada y vaya a https://life360.com/login.
  2. Abra las herramientas de desarrollo (F12) y luego la pestaña Red. Escriba token en el filtro.
  3. Inicie sesión en Life360 (correo o teléfono, y luego el código que le envía Life360).
  4. Haga clic en la petición token que aparece (un POST a /v3/oauth2/token) y luego en la pestaña Respuesta (o Vista previa).
  5. Copie el valor de access_token (una larga cadena de letras y cifras).

Guarde este token en privado: da acceso a las posiciones de sus círculos. Sigue siendo válido varias semanas; cuando Life360 lo rechaza, la pantalla de configuración lo indica y usted copia uno nuevo del mismo modo.

2. Configurar la integración​

En Gladys, abra Integraciones → Life360 → Configuración:

CampoQué escribir
Método de inicio de sesiónToken de acceso (recomendado), o Usuario y contraseña.
Token de accesoEl access_token copiado arriba. El prefijo Bearer es opcional.
Usuario / ContraseñaSolo para el método de usuario y contraseña. Se guarda el token devuelto por Life360, no la contraseña.
Círculos a seguirNombres de los círculos separados por comas, p. ej. Familia, Abuelos. Vacío: todos los círculos.
CasaLa casa de Gladys que significa «en casa». Vacío: la primera casa con coordenadas.
Lugar de Life360 para casaEl nombre de su lugar de Life360 para casa (por defecto Home). Vacío: solo las coordenadas.
Radio de casa (m)Distancia de la casa que aún cuenta como «en casa» (150 m por defecto).
Intervalo de actualización (s)Cada cuánto se lee Life360 (60 s por defecto, 15 s como mínimo). Life360 limita las peticiones: no baje más.
Umbral de batería baja (%)Por debajo de este nivel se activa «Batería del teléfono baja» (20 % por defecto).
Registros detalladosRegistra cada lectura, para diagnosticar un problema. Los tokens y contraseñas nunca se registran.

Guarde y pulse Probar la conexión: la respuesta lista los círculos, los miembros y la casa usada como casa.

3. Añadir los miembros​

Abra la pestaña Descubrimiento de la integración: cada miembro de los círculos seguidos aparece como un dispositivo llamado <Nombre> <Apellido> (Life360). Cree los que quiera. Un miembro de varios círculos es un único dispositivo.

Cada dispositivo tiene estas funciones:

FunciónValores
At home1 en casa, 0 fuera.
Phone batteryBatería del teléfono del miembro, en %.
Phone charging1 mientras el teléfono carga.
Distance from homeEn km, desde la casa de Gladys (sin valor si la casa no tiene coordenadas).
SpeedEn km/h, 0 parado.
PlaceEl lugar de Life360 (Casa, Colegio…), si no la dirección, si no las coordenadas.

Cómo se decide «en casa»: un miembro está en casa cuando su posición está dentro del radio de casa alrededor de la casa de Gladys, o cuando Life360 lo sitúa en el lugar indicado en «Lugar de Life360 para casa». Se tiene en cuenta la precisión de la posición del teléfono, hasta el propio radio.

La insignia de cada dispositivo muestra cloud cuando Life360 respondió, un punto naranja cuando Life360 no tiene posición de ese miembro (ubicación compartida desactivada, teléfono mudo) e inaccesible cuando no se pudo contactar con Life360.

Escenas​

Disparadores​

Todos los disparadores pueden filtrarse por un miembro; los de lugares también por un nombre de lugar. Cada uno da a la escena las variables member_name, place, address, battery y distance_km.

DisparadorClaveCuándo
Miembro llegó a casaarrived_homeEl miembro vuelve a estar en casa.
Miembro salió de casaleft_homeEl miembro ya no está en casa.
Miembro llegó a un lugarplace_arrivedEl miembro entró en un lugar de Life360 (colegio, trabajo…).
Miembro salió de un lugarplace_leftEl miembro salió de un lugar de Life360.
Miembro empezó a conducirdriving_startedLife360 detectó que el miembro está conduciendo.
Batería del teléfono bajabattery_lowEl teléfono bajó del umbral y no está cargando.

Los disparadores comparan dos lecturas seguidas: reiniciar la integración nunca dispara «llegó a casa» para todos. La función «At home» también funciona con el disparador estándar Estado de un dispositivo.

Acciones​

AcciónClaveResultado
Localizar a un miembro de Life360request_location_updatePide una posición nueva al teléfono del miembro. Salida: requested.
Leer un miembro de Life360get_member_statusSalidas found, at_home, place, distance_km (-1 desconocida), battery (-1 desconocida), charging, driving, last_seen (fecha ISO).

Widget del panel​

Añada el widget Círculo Life360 a un panel: mosaicos de batería de los primeros miembros, una línea por miembro (en verde en casa), la hora de la última lectura, un botón Actualizar y un botón Localizar a todos (pide una posición nueva a cada teléfono, tras una confirmación).

Solución de problemas​

  • «Life360 rechazó el token de acceso»: el token caducó o se copió mal. Copie uno nuevo (paso 1).
  • «Life360 no acepta este token de acceso (HTTP 403)»: el valor copiado no es el access_token de la petición /v3/oauth2/token (otra petición, o toda la respuesta). Vuelva a copiarlo (paso 1).
  • «Cloudflare … bloquea la dirección de internet de Gladys»: Cloudflare, delante de Life360, rechaza su conexión (a menudo un VPN, un proxy o una dirección compartida). La integración lo vuelve a intentar cada 15 minutos; desactive el VPN, o espere unas horas.
  • «Life360 rechazó el inicio de sesión» con usuario y contraseña: Life360 quiere un código de verificación. Cambie al método del token de acceso.
  • «Life360 limita las peticiones»: la integración espera el tiempo que pide Life360 y luego continúa. Aumente el intervalo de actualización.
  • Un miembro siempre está fuera: compruebe las coordenadas de la casa de Gladys, aumente el radio de casa o escriba el nombre de su lugar de Life360 para casa.
  • Sin posición para un miembro: desactivó la ubicación compartida en la app Life360, o su teléfono no se ha comunicado desde hace un rato (ahorro de batería, sin red).

Privacidad​

El token y la contraseña se quedan en los campos secretos de la integración y solo se envían a Life360. Las posiciones solo se publican en su Gladys. Vea SECURITY.md.

Parámetros de configuración​

Estos son los parámetros que Life360 te pide en su pantalla de configuración en Gladys.

ParámetroTipoObligatorioDescripción
Primeros pasossectionNoLife360 no tiene API oficial: la integración usa la de la app Life360. Inicie sesión en life360.com, copie el token de acceso (vea la documentación) y péguelo abajo. Cada miembro de sus círculos se convierte en un dispositivo de Gladys: en casa, lugar, batería del teléfono, distancia de casa.
Método de inicio de sesiónselectNoEl token de acceso es la vía fiable: Life360 rechaza ahora a menudo el inicio de sesión con usuario y contraseña.
Token de accesosecretNoEl access_token copiado de life360.com (el prefijo «Bearer» es opcional).
Usuario (correo o teléfono)stringNoSolo con el método de usuario y contraseña.
ContraseñasecretNoSolo con el método de usuario y contraseña.
Círculos a seguirstringNoNombres de los círculos separados por comas. Déjelo vacío para seguir todos.
CasaselectNoLa casa de Gladys cuyas coordenadas significan «en casa». Vacío: la primera casa con coordenadas.
Lugar de Life360 para casastringNoNombre del lugar de Life360 que también significa «en casa». Vacío: solo coordenadas.
Radio de casa (m)numberNoDistancia de la casa que aún cuenta como «en casa», en metros.
Intervalo de actualización (s)numberNoCada cuánto se lee Life360, en segundos (15 como mínimo).
Umbral de batería baja (%)numberNoPor debajo de este nivel se activa el disparador «Batería del teléfono baja».
Registros detalladosbooleanNoRegistra cada lectura de Life360, para diagnosticar un problema. Los tokens nunca se registran.

Cómo instalar Life360 en Gladys​

  1. En Gladys, abre Integraciones: Life360 aparece en el catálogo junto a las integraciones nativas, con una insignia de comunidad.
  2. Haz clic en Instalar. Gladys descarga la imagen Docker (ghcr.io/prohand/gladys-life360:0.0.3), la ejecuta en un entorno aislado del núcleo y genera la interfaz de la integración (dispositivos, descubrimiento y configuración).
  3. Abre la pantalla de Configuración de la integración, rellena los parámetros y guarda.
  4. También puedes instalarla directamente desde la URL de su repositorio: https://github.com/prohand/gladys-life360.

Life360 requiere Gladys >=5.3.0. El catálogo de Gladys se actualiza cada hora, así que una nueva versión está disponible como máximo una hora después de publicarse.

¿Todavía no usas Gladys? Es gratuito y de código abierto: sigue la guía de instalación para empezar.

Sobre las integraciones externas​

Life360 es una integración externa: una integración comunitaria empaquetada como contenedor Docker y publicada en GitHub. Gladys la instala con un clic y la ejecuta en un entorno aislado del núcleo. La publica y mantiene prohand, no el equipo principal de Gladys.

Suscríbete a la newsletter de Gladys Assistant

Unos pocos correos al mes sobre nuevas versiones y novedades del proyecto. Enviados por Pierre-Gilles Leymarie, fundador del proyecto. Puedes darte de baja cuando quieras 🙂