Sincronizar datos de Apple Health con MQTT
Publicar datos de salud en un broker MQTT.
Last updated: February 5, 2026
On this page
- Resumen
- Requisitos previos
- Configuración
- Nombre de automatización
- Notificaciones
- Configuración del broker
- Configuración de tipo de datos
- Tipo de datos
- Configuración de métricas de salud
- Configuración de entrenamientos
- Configuración de exportación
- Formato de exportación
- Versión de exportación
- Rango de fechas
- Resumir datos
- Agrupación de tiempo
- Resumir datos
- Frecuencia de sincronización
- Pruebas y verificación
- Pruebas manuales
- Usar un cliente MQTT
- Ver registros de actividad
- Formato de mensaje
- Solución de problemas
- Problemas comunes
- Consejos y mejores prácticas
Las automatizaciones MQTT te permiten publicar automáticamente tus datos de salud en un broker MQTT. Esto es ideal para integrar con plataformas IoT, sistemas de automatización del hogar o cualquier servicio que soporte mensajería MQTT.
Resumen
Las automatizaciones MQTT publican tus datos de salud como mensajes JSON en un tema MQTT especificado en un broker MQTT. Los datos se envían cada vez que la automatización se ejecuta según la configuración de frecuencia de sincronización.
Casos de uso:
- Integración con plataformas IoT (Home Assistant, OpenHAB, etc.)
- Publicar datos de salud en paneles basados en MQTT
- Sistemas de monitoreo de salud en tiempo real
- Integraciones personalizadas de automatización del hogar
- Plataformas de registro de datos y análisis
Características principales:
- Solo formato JSON (optimizado para MQTT)
- Soporta conexiones autenticadas y anónimas
- Estructura de temas configurable
- Gestión de ID de cliente
- Autenticación opcional con nombre de usuario/contraseña
Limitaciones
Acceso a datos de salud: Las aplicaciones no pueden acceder a los datos de salud mientras el iPhone está bloqueado. Las automatizaciones solo se ejecutarán durante los períodos en que tu dispositivo esté desbloqueado. Esto puede afectar la actualización de los datos. Consulta las instrucciones para la sincronización manual para mantener los datos actualizados.
Procesamiento en segundo plano: iOS limita el procesamiento en segundo plano para preservar la duración de la batería. Las automatizaciones dependen de la Actualización de aplicaciones en segundo plano y pueden no ejecutarse inmediatamente si:
- La Actualización de aplicaciones en segundo plano está deshabilitada para la aplicación
- El dispositivo está en Modo de bajo consumo
- El dispositivo ha estado inactivo durante períodos prolongados
- Los recursos del sistema están limitados
- Múltiples aplicaciones están compitiendo por tiempo de ejecución en segundo plano
Solo formato JSON (no se puede cambiar)
Requiere un broker MQTT (local o basado en la nube)
Requisitos previos
- Un broker MQTT (p. ej., Mosquitto, HiveMQ, AWS IoT Core, etc.)
- Conectividad de red a tu broker MQTT
- Dirección IP o nombre de host del broker
- Número de puerto
- Opcional: Nombre de usuario y contraseña si tu broker requiere autenticación
Configuración
Navega a la pantalla de Exportaciones Automatizadas desde la navegación principal, luego toca "Nueva Automatización" y selecciona "MQTT" como Tipo de Automatización.
Nombre de automatización
Ingresa un nombre descriptivo para tu automatización (p. ej., "MQTT Home Assistant", "Broker MQTT en la nube").
Notificaciones
Configura cuándo deseas recibir notificaciones:
- Notificar en actualización de caché - Recibe una notificación cuando se actualicen los datos en caché
- Notificar cuando se ejecute - Recibe una notificación cada vez que la automatización publique datos
Configuración del broker
Dirección IP
Ingresa la dirección IP o el nombre de host de tu broker MQTT.
Ejemplos:
192.168.1.100(dirección IP local)mqtt.example.com(nombre de host)broker.hivemq.com(broker MQTT en la nube)localhost(si se ejecuta en el mismo dispositivo, no recomendado para iOS)
Nota: Usa direcciones IP para brokers locales en tu red, o nombres de host para brokers basados en la nube. Asegúrate de que el broker sea accesible desde tu dispositivo.
Puerto
Ingresa el número de puerto para tu broker MQTT.
Nota: El puerto predeterminado es 1883.
Tema
Ingresa el tema MQTT donde se publicarán los datos de salud. Este es el tema que los suscriptores usarán para recibir tus datos de salud.
Ejemplos de temas:
health/datahome/health/metricsuser/health/exporthae/automation-name
Mejores prácticas para temas:
- Usa barras diagonales (/) para crear jerarquías de temas
- Usa nombres descriptivos que indiquen el tipo de datos
- Evita espacios y caracteres especiales
- Considera incluir el nombre de la automatización para múltiples automatizaciones
Nota: El nombre del tema distingue entre mayúsculas y minúsculas. Asegúrate de que los suscriptores usen exactamente el mismo nombre de tema.
ID de cliente
Ingresa un ID de cliente único para esta conexión MQTT. Esto identifica tu dispositivo ante el broker MQTT.
Ejemplos de ID de cliente:
health-export-iphonehae-client-001ios-health-app
Nombre de usuario (Opcional)
Ingresa el nombre de usuario para la autenticación del broker MQTT. Déjalo vacío si tu broker no requiere autenticación.
Contraseña (Opcional)
Ingresa la contraseña para la autenticación del broker MQTT. Déjalo vacío si tu broker no requiere autenticación.
Configuración de tipo de datos
Tipo de datos
Selecciona qué tipo de datos de salud exportar:
- Métricas de salud - Pasos, frecuencia cardíaca, sueño y otras mediciones de salud
- Entrenamientos - Actividades de ejercicio y fitness
- Síntomas - Síntomas y condiciones de salud
- ECG - Lecturas de electrocardiograma
- Notificaciones de frecuencia cardíaca - Eventos de frecuencia cardíaca alta/baja
- Estado mental - Entradas de estado de ánimo y estado mental (iOS 18.0+)
- Seguimiento del ciclo - Datos del ciclo menstrual y salud reproductiva
- Medicamentos - Registros de medicamentos y adherencia (iOS 26.0+)
Configuración de métricas de salud
Cuando se selecciona Métricas de salud:
Seleccionar métricas de salud - Elige qué métricas específicas incluir. Puedes seleccionar todas las métricas disponibles o elegir específicas.
Consejo: Seleccionar solo las métricas que necesitas reduce el tamaño del mensaje y el tiempo de procesamiento.
Fuentes preferidas - Configura qué fuentes de datos tienen prioridad cuando múltiples fuentes proporcionan la misma métrica.
Configuración de entrenamientos
Cuando se selecciona Entrenamientos:
Incluir datos de ruta - Activa para incluir rutas para entrenamientos que tienen datos de ubicación.
Incluir métricas de entrenamiento - Activa para incluir métricas de salud recopiladas durante los entrenamientos (frecuencia cardíaca, calorías, etc.).
Agrupación de tiempo (Métricas de entrenamiento) - Cuando se usa Versión de exportación 2 e Incluir métricas de entrenamiento está habilitado:
- Minutos - Agrupa las métricas de entrenamiento por minuto
- Segundos - Agrupa las métricas de entrenamiento por segundo
Configuración de exportación
Formato de exportación
Nota: Las automatizaciones MQTT solo soportan formato JSON. Esta configuración no se puede cambiar y se establece automáticamente en JSON.
Versión de exportación
Selecciona una Versión de exportación para los datos de entrenamiento:
- Versión 1 - Formato heredado
- Versión 2 - Formato actual con datos de entrenamiento mejorados
Nota: La Versión de exportación afecta principalmente a la estructura de datos de entrenamiento si estás exportando entrenamientos.
Rango de fechas
Selecciona cuándo se deben exportar los datos:
- Predeterminado - Sincroniza los datos del día anterior completo más los datos hasta la fecha y hora actuales
- Desde última sincronización - En cada sincronización, exporta todos los datos desde la última vez que se ejecutó la exportación hasta la fecha y hora actuales
- Hoy - Sincroniza todos los datos de la fecha actual hasta la hora actual
- Ayer - Sincroniza todos los datos del día anterior completo
- Últimos 7 días - Sincroniza los datos de los últimos siete días completos
Resumir datos
Cuando se usa formato JSON con tipo de datos Métricas de salud, activa o desactiva Resumir datos.
- ON - Proporciona resúmenes de datos agregados (predeterminado)
- OFF - Proporciona datos desagregados cuando es posible, mostrando puntos de datos individuales
Agrupación de tiempo
Cuando Resumir datos está habilitado, selecciona cómo se deben agregar los datos.
Resumir datos
Activa o desactiva Resumir datos para Métricas de salud.
- ON - Proporciona resúmenes de datos agregados (predeterminado)
- OFF - Proporciona datos desagregados cuando es posible
Nota: Esta configuración solo se aplica al tipo de datos Métricas de salud.
Frecuencia de sincronización
Configura con qué frecuencia la automatización debe publicar datos en MQTT:
Selecciona un número e intervalo.
Pruebas y verificación
Pruebas manuales
- Toca "Exportación manual" en la pantalla de configuración de automatización
- Selecciona un rango de fechas
- Toca "Exportar" para publicar un mensaje
- Usa un cliente MQTT para suscribirte a tu tema y verificar que se recibió el mensaje
Usar un cliente MQTT
Para verificar que los mensajes se están publicando:
- Configura un cliente MQTT
- Conéctate a tu broker MQTT usando las mismas credenciales
- Suscríbete a tu tema
- Activa una exportación manual desde la aplicación
- Verifica que el mensaje aparezca en tu cliente MQTT
Ver registros de actividad
- Toca "Ver registros de actividad" en la pantalla de configuración de automatización
- Revisa las ejecuciones recientes de automatización
- Verifica errores de conexión o fallos de publicación
- Verifica las marcas de tiempo de publicación
Formato de mensaje
Los mensajes MQTT se publican como JSON. El contenido del mensaje sigue el formato JSON de exportación estándar:
{
"data": {
"metrics": [...],
"workouts": [...],
...
}
}
El mensaje se publica con:
- Tema: Como se configuró en la automatización
- QoS: Entrega como máximo una vez
- Retener: Los mensajes no se retienen
- Contenido: Cadena JSON que contiene datos de salud
Solución de problemas
Problemas comunes
Fallos de conexión
- Verifica que la dirección IP/nombre de host del broker sea correcta
- Verifica que el puerto sea correcto y que el broker esté escuchando en ese puerto
- Asegúrate de que haya conectividad de red al broker
- Verifica que las reglas del firewall permitan conexiones al broker
- Verifica si el broker requiere TLS/SSL
Fallos de autenticación
- Verifica que el nombre de usuario y la contraseña sean correctos
- Verifica que la autenticación esté habilitada en tu broker si se proporcionan credenciales
- Asegúrate de que el usuario tenga permiso para publicar en el tema especificado
Mensajes no recibidos
- Verifica que el nombre del tema coincida exactamente (distingue entre mayúsculas y minúsculas)
- Verifica que los suscriptores estén conectados al mismo broker
- Asegúrate de que los suscriptores estén suscritos al tema correcto
- Verifica que la automatización esté habilitada y ejecutándose
- Verifica los Registros de actividad para errores de publicación
Tamaño de mensaje grande
- Reduce el número de métricas de salud seleccionadas
- Usa opciones de agregación menos granulares
- Considera dividir en múltiples automatizaciones para diferentes tipos de datos
Consejos y mejores prácticas
Organización de temas:
- Usa estructuras de temas jerárquicas (p. ej.,
health/metrics,health/workouts) - Incluye identificadores de dispositivo o automatización en los temas
- Documenta tu estructura de temas para referencia fácil
- Usa estructuras de temas jerárquicas (p. ej.,
Tamaño de mensaje:
- Mantén los mensajes razonablemente grandes para evitar límites del broker MQTT
- Usa agregación menos granular para reducir el volumen de datos
- Considera dividir grandes conjuntos de datos en múltiples mensajes
Monitoreo:
- Usa los Registros de actividad en la aplicación para rastrear el éxito de la publicación
Brokers en la nube:
- Cuando uses brokers MQTT en la nube (AWS IoT, HiveMQ Cloud, etc.):
- Sigue sus requisitos de conexión específicos
- Verifica sus límites de tamaño y velocidad de mensajes
- Verifica las convenciones de nomenclatura de temas
- Cuando uses brokers MQTT en la nube (AWS IoT, HiveMQ Cloud, etc.):