Integración comunitaria OwnTracks, gratuita y de código abierto

Sus teléfonos seguidos por OwnTracks en Gladys: presencia, distancia, regiones, batería.
Lleva a Gladys los teléfonos seguidos por OwnTracks, la aplicación de localización libre y respetuosa con la privacidad para Android e iOS, a través de su propio OwnTracks Recorder. Cada teléfono se convierte en un dispositivo Gladys que indica si está en casa, a qué distancia de casa se encuentra, en qué región de OwnTracks está y cuánta batería le queda; las escenas pueden reaccionar cuando un teléfono llega a casa o se va, entra en una región o sale de ella, o deja de enviar posiciones; y un teléfono en casa puede gestionar la presencia de un usuario de Gladys.
Probada con un OwnTracks Recorder 1.0.4 real y teléfonos simulados (posiciones enviadas por su API HTTP), no con teléfonos en la calle: sus comentarios son bienvenidos.
Requisitos
- Gladys 5.1 o posterior.
- Un OwnTracks Recorder al que Gladys
pueda acceder en su red, normalmente en el puerto 8083 (por ejemplo la imagen
Docker
owntracks/recorder). - La aplicación OwnTracks en cada teléfono, que envía sus posiciones al
Recorder: por su broker MQTT, o en modo HTTP directamente al Recorder
(
/pub). Gladys solo lee el Recorder; nunca habla con los teléfonos.
Configuración
- En Gladys, abra la pestaña Configuración de la integración:
- Dirección del Recorder: tal como la abre en su navegador, por ejemplo
http://192.168.1.20:8083. Sin puerto, se usa el 8083. Un Recorder detrás de un proxy inverso también funciona, con su ruta (https://example.com/owntracks). - Usuario del proxy y Contraseña del proxy: solo si un proxy inverso protege el Recorder con una contraseña (Basic auth). El Recorder en sí no tiene.
- Dirección del Recorder: tal como la abre en su navegador, por ejemplo
- Guarde. El botón Probar la conexión muestra la versión del Recorder, el número de usuarios y de teléfonos con posición.
- Abra la pestaña Descubrir y añada a Gladys los teléfonos que desee.
Casa y presencia (opcional):
- La casa es un radio (150 m por defecto) alrededor de la ubicación de su vivienda Gladys (Configuración → Viviendas). Con varias viviendas, indique el nombre de la que quiere usar; por defecto, la primera que tiene ubicación.
- O indique una región de OwnTracks (una región definida en la aplicación,
por ejemplo
Casa): un teléfono está entonces en casa cuando la aplicación dice que está dentro, y el radio se ignora. Las regiones las vigila el propio teléfono: es la opción más fiable y la que menos batería gasta. - Presencia: última posición como máximo: un teléfono en casa solo sigue diciendo «visto en casa» mientras su última posición tenga menos de este plazo (2 horas por defecto). Un iPhone en modo Significativo no envía nada mientras no se mueve: mantenga un plazo largo.
- Compartir coordenadas con Gladys: desactivado por defecto, vea Privacidad más abajo.
- Idioma: el idioma de los nombres de las funciones y de los textos de la integración (regiones, frases). Francés por defecto.
Privacidad
Por defecto, las coordenadas de los teléfonos nunca salen de la integración: Gladys recibe la presencia, la distancia de casa, el nombre de las regiones y la batería, nada más. Con Compartir coordenadas con Gladys, el widget y las escenas reciben además un enlace a la posición en OpenStreetMap. Las coordenadas y los nombres de las regiones nunca se escriben en los registros.
Dispositivos
Un dispositivo por teléfono del Recorder (un usuario y un nombre de dispositivo en OwnTracks), con el nombre de su tarjeta de OwnTracks si la tiene. Funciones:
| Función | Qué muestra |
|---|---|
| En casa | Sí o no, según la regla de la casa anterior |
| Presencia | Una señal «visto en casa» para la presencia de un usuario (abajo) |
| Distancia de casa | En km, hasta la vivienda Gladys |
| Batería | En % del teléfono |
| Última posición | Fecha y hora de la última posición |
| Región OwnTracks | Las regiones en las que está el teléfono, o «Sin región» |
La distancia requiere una vivienda Gladys con ubicación; En casa y Presencia requieren una regla de casa (radio o región).
Las actualizaciones son en directo: el Recorder envía cada nueva posición a la
integración por su WebSocket (/ws/last). Si el enlace se cae, la integración
lee el Recorder cada minuto hasta que vuelve: se recupera la última posición de
cada teléfono, no las intermedias.
Presencia de un usuario
Gladys decide quién está en casa mediante escenas. Dos formas, que se combinan bien:
- Sencilla: una escena activada cuando la función En casa del teléfono pasa a 1, con la acción Usuario visto en casa; otra cuando pasa a 0, con Usuario fuera de casa. Los disparadores Un teléfono llega a casa y Un teléfono sale de casa de la integración hacen lo mismo.
- Robusta: la función Presencia envía una señal «visto en casa» en cada posición en casa, y luego cada 5 minutos mientras la última posición sea reciente. Una escena programada (cada 5 o 10 minutos) con la acción Comprobar presencia del usuario (el usuario, la vivienda, la función Presencia de su teléfono, un plazo como 15 minutos) marca al usuario como ausente cuando el teléfono no se ha visto en casa durante ese plazo — aunque se haya quedado sin batería en la oficina.
Widget del panel
El widget Teléfonos y presencia muestra cada teléfono (ocho como máximo) con su región, la hora de su última posición y su presencia como insignia de color (en casa, fuera, desconocido). Toque un teléfono para ver su batería, su distancia de casa, la precisión de la posición y un enlace al mapa cuando se comparten las coordenadas.
Escenas
Disparadores (categoría Integraciones del editor de escenas):
- Un teléfono llega a casa y Un teléfono sale de casa: el teléfono estaba fuera y ahora está en casa, o al revés. Filtro: el teléfono (vacío: cualquiera). Información transmitida: el nombre del teléfono, la hora de la posición.
- Un teléfono entra en una región y Un teléfono sale de una región: la aplicación OwnTracks indica el teléfono dentro de una de sus regiones, o fuera de ella. Filtros: el teléfono y el nombre de la región, exactamente como en OwnTracks (vacío: cualquiera). Información transmitida: el nombre del teléfono, la región, la hora, el enlace al mapa (si se comparte).
- No se reciben posiciones: ninguna posición nueva del teléfono desde hace 1, 2, 3, 6, 12, 24 o 48 horas (obligatorio): puede que la aplicación se haya detenido o que el teléfono esté apagado. Una sola vez por silencio; una posición nueva vuelve a empezar. Información transmitida: el nombre del teléfono, la hora de la última posición.
Solo los teléfonos añadidos a Gladys activan escenas. Un paso que ocurrió mientras el Recorder no estaba accesible se activa con retraso, cuando vuelve el enlace. Lo que ocurre durante un reinicio de Gladys no se repite: la integración vuelve a empezar desde el estado actual.
Acción Leer la posición de un teléfono: una frase lista («Alice (phone) está en casa, posición de 16:08.») y los valores, para un mensaje o una condición: presencia, en casa (sí/no), región, distancia de casa (km, -1 si desconocida), batería (%, -1 si desconocida), hora de la posición, enlace al mapa (si se comparte).
Ejemplos de escenas
- Bienvenida: disparador Un teléfono llega a casa (teléfono de Alice) → encender la luz de la entrada si es de noche.
- El último en salir: disparador Un teléfono sale de casa → condición «nadie en casa» → activar la alarma y bajar la calefacción.
- Los niños en el colegio: disparador Un teléfono entra en una región
(región
Colegio) → enviar un mensaje con el nombre del teléfono y la hora (insertados desde el selector de variables). - Seguimiento detenido: disparador No se reciben posiciones (6 horas) → enviar un mensaje: probablemente el ahorro de batería cerró la aplicación.
Solución de problemas
- «El Recorder no responde»: abra la dirección en un navegador desde la
máquina de Gladys; compruebe el puerto (8083 por defecto) y que el Recorder
escucha en la red (
OTR_HTTPHOST=0.0.0.0en Docker). - «Ha rechazado el nombre de usuario y la contraseña»: el proxy inverso delante del Recorder los ha rechazado. Sin proxy, deje ambos campos vacíos.
- Ningún dispositivo en Descubrir: el Recorder todavía no tiene ninguna
posición. Compruebe en su página web (
/last) que aparecen los teléfonos. - Un teléfono nunca está en casa: compruebe la ubicación de la vivienda Gladys, o el nombre exacto de la región de OwnTracks (sin distinguir mayúsculas). Con un radio, una posición puede desviarse según su precisión (mostrada en el widget).
- Sin actualización en directo: un proxy inverso debe dejar pasar el
WebSocket
/ws/last. Sin él, las posiciones llegan igualmente, cada minuto. - El teléfono no envía nada durante horas: en OwnTracks, el modo Significativo solo envía una posición tras un desplazamiento de varios cientos de metros; el ahorro de batería de Android también puede detener la aplicación. Consulte la documentación de OwnTracks.
Limitaciones
- Solo lectura: la integración nunca envía nada a los teléfonos (ni configuración remota, ni petición de posición).
- Sin historial: solo la última posición. Para el historial y las estadísticas, vea la integración Dawarich.
- Los disparadores de región siguen las regiones definidas en la aplicación OwnTracks; los puntos y los amigos del Recorder no se usan.
- Las posiciones se comparan con la vivienda Gladys tal cual, sin tener en cuenta su precisión.
- Desarrollada sin teléfono en la calle: probada con un Recorder real y posiciones simuladas. Sus comentarios son bienvenidos.
Parámetros de configuración
Estos son los parámetros que OwnTracks te pide en su pantalla de configuración en Gladys.
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| Conecte su OwnTracks Recorder | section | No | Introduzca la dirección de OwnTracks Recorder tal como la abre en su navegador (puerto 8083 por defecto). La aplicación OwnTracks de los teléfonos envía sus posiciones al Recorder, por MQTT o HTTP; Gladys las lee en el Recorder. Si el Recorder está detrás de un proxy con contraseña (Basic auth), introduzca también el nombre de usuario y la contraseña. |
| Dirección del Recorder | string | Sí | |
| Usuario del proxy (opcional) | string | No | |
| Contraseña del proxy (opcional) | secret | No | |
| Casa y presencia | section | No | Un teléfono está en casa cuando se encuentra en el radio indicado abajo alrededor de la ubicación de su casa Gladys o, si indica una, dentro de esa región de OwnTracks (una región definida en la aplicación). Utilice su función En casa en escenas con «Usuario visto en casa» y «Usuario fuera de casa», o su función Presencia con «Comprobar presencia del usuario». Un iPhone en modo Significativo puede quedarse callado horas sin moverse: mantenga un plazo suficientemente largo abajo. |
| Casa Gladys (opcional) | string | No | |
| Radio de la casa (metros) | number | No | |
| O bien: región OwnTracks de la casa | string | No | |
| Presencia: última posición como máximo (minutos) | number | No | |
| Compartir coordenadas con Gladys (enlaces de mapa) | boolean | No | Desactivado: solo la presencia, la distancia y la región salen de la integración. Activado: el widget y las escenas reciben un enlace de OpenStreetMap a la posición. |
| Idioma de los nombres y textos | select | No |
Cómo instalar OwnTracks en Gladys
- En Gladys, abre Integraciones: OwnTracks aparece en el catálogo junto a las integraciones nativas, con una insignia de comunidad.
- Haz clic en Instalar. Gladys descarga la imagen Docker (
ghcr.io/guim31/gladys-owntracks:1.0.1), la ejecuta en un entorno aislado del núcleo y genera la interfaz de la integración (dispositivos, descubrimiento y configuración). - Abre la pantalla de Configuración de la integración, rellena los parámetros y guarda.
- También puedes instalarla directamente desde la URL de su repositorio: https://github.com/guim31/gladys-owntracks.
OwnTracks requiere Gladys >=5.1.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
OwnTracks 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 guim31, no el equipo principal de Gladys.
- Explorar todas las integraciones, nativas y de la comunidad
- Crear y publicar tu propia integración externa
- Código fuente en GitHub — fuente de esta documentación