Synchroniser les données Apple Health avec MQTT

Publier des données de santé sur un courtier MQTT.

Last updated: February 5, 2026

On this page

Les automatisations MQTT vous permettent de publier automatiquement vos données de santé sur un courtier MQTT. C'est idéal pour intégrer avec des plateformes IoT, des systèmes d'automatisation domestique ou tout service qui prend en charge la messagerie MQTT.

Vue d'ensemble

Les automatisations MQTT publient vos données de santé sous forme de messages JSON sur un sujet MQTT spécifié sur un courtier MQTT. Les données sont envoyées chaque fois que l'automatisation s'exécute selon vos paramètres de fréquence de synchronisation.

Cas d'utilisation :

  • Intégration avec des plateformes IoT (Home Assistant, OpenHAB, etc.)
  • Publication de données de santé sur des tableaux de bord basés sur MQTT
  • Systèmes de surveillance de santé en temps réel
  • Intégrations d'automatisation domestique personnalisées
  • Plateformes de journalisation et d'analyse de données

Caractéristiques principales :

  • Format JSON uniquement (optimisé pour MQTT)
  • Prend en charge les connexions authentifiées et anonymes
  • Structure de sujet configurable
  • Gestion de l'ID client
  • Authentification optionnelle nom d'utilisateur/mot de passe

Limitations

  • Accès aux données de santé : Les applications ne sont pas autorisées à accéder aux données de santé lorsque l'iPhone est verrouillé. Les automatisations ne s'exécuteront que pendant les périodes où votre appareil est déverrouillé. Cela peut affecter la fraîcheur des données. Consultez les instructions pour la synchronisation manuelle pour maintenir les données à jour.

  • Traitement en arrière-plan : iOS limite le traitement en arrière-plan pour préserver l'autonomie de la batterie. Les automatisations dépendent de l'Actualisation de l'application en arrière-plan et peuvent ne pas s'exécuter immédiatement si :

    • L'Actualisation de l'application en arrière-plan est désactivée pour l'application
    • L'appareil est en mode Économie d'énergie
    • L'appareil est resté inactif pendant de longues périodes
    • Les ressources système sont limitées
    • Plusieurs applications se disputent le temps d'exécution en arrière-plan
  • Format JSON uniquement (ne peut pas être modifié)

  • Nécessite un courtier MQTT (local ou basé sur le cloud)

Prérequis

  • Un courtier MQTT (par exemple, Mosquitto, HiveMQ, AWS IoT Core, etc.)
  • Connectivité réseau à votre courtier MQTT
  • Adresse IP ou nom d'hôte du courtier
  • Numéro de port
  • Optionnel : Nom d'utilisateur et mot de passe si votre courtier nécessite une authentification

Configuration

Accédez à l'écran Exports Automatisés depuis la navigation principale, puis appuyez sur "Nouvelle Automatisation" et sélectionnez "MQTT" comme Type d'Automatisation.

Nom de l'automatisation

Entrez un nom descriptif pour votre automatisation (par exemple, "MQTT Home Assistant", "Courtier MQTT Cloud").

Notifications

Configurez quand vous souhaitez recevoir des notifications :

  • Notifier lors de la mise à jour du cache - Recevez une notification lorsque les données en cache sont mises à jour
  • Notifier lors de l'exécution - Recevez une notification à chaque fois que l'automatisation publie des données

Configuration du courtier

Adresse IP

Entrez l'adresse IP ou le nom d'hôte de votre courtier MQTT.

Exemples :

  • 192.168.1.100 (adresse IP locale)
  • mqtt.example.com (nom d'hôte)
  • broker.hivemq.com (courtier MQTT cloud)
  • localhost (si exécuté sur le même appareil, non recommandé pour iOS)

Note : Utilisez des adresses IP pour les courtiers locaux sur votre réseau, ou des noms d'hôte pour les courtiers basés sur le cloud. Assurez-vous que le courtier est accessible depuis votre appareil.

Port

Entrez le numéro de port pour votre courtier MQTT.

Note : Le port par défaut est 1883.

Sujet

Entrez le sujet MQTT où les données de santé seront publiées. C'est le sujet que les abonnés utiliseront pour recevoir vos données de santé.

Exemples de sujets :

  • health/data
  • home/health/metrics
  • user/health/export
  • hae/automation-name

Meilleures pratiques pour les sujets :

  • Utilisez des barres obliques (/) pour créer des hiérarchies de sujets
  • Utilisez des noms descriptifs qui indiquent le type de données
  • Évitez les espaces et les caractères spéciaux
  • Envisagez d'inclure le nom de l'automatisation pour plusieurs automatisations

Note : Le nom du sujet est sensible à la casse. Assurez-vous que les abonnés utilisent exactement le même nom de sujet.

ID client

Entrez un ID client unique pour cette connexion MQTT. Cela identifie votre appareil auprès du courtier MQTT.

Exemples d'ID client :

  • health-export-iphone
  • hae-client-001
  • ios-health-app

Nom d'utilisateur (Optionnel)

Entrez le nom d'utilisateur pour l'authentification du courtier MQTT. Laissez vide si votre courtier ne nécessite pas d'authentification.

Mot de passe (Optionnel)

Entrez le mot de passe pour l'authentification du courtier MQTT. Laissez vide si votre courtier ne nécessite pas d'authentification.

Paramètres de type de données

Type de données

Sélectionnez le type de données de santé à exporter :

  • Métriques de santé - Pas, fréquence cardiaque, sommeil et autres mesures de santé
  • Entraînements - Activités d'exercice et de fitness
  • Symptômes - Symptômes et conditions de santé
  • ECG - Lectures d'électrocardiogramme
  • Notifications de fréquence cardiaque - Événements de fréquence cardiaque élevée/faible
  • État d'esprit - Entrées d'humeur et d'état mental (iOS 18.0+)
  • Suivi du cycle - Données du cycle menstruel et de santé reproductive
  • Médicaments - Journaux de médicaments et observance (iOS 26.0+)

Configuration des métriques de santé

Lorsque Métriques de santé est sélectionné :

Sélectionner les métriques de santé - Choisissez les métriques spécifiques à inclure. Vous pouvez sélectionner toutes les métriques disponibles ou choisir des métriques spécifiques.

Astuce : Sélectionner uniquement les métriques dont vous avez besoin réduit la taille du message et le temps de traitement.

Sources préférées - Configurez quelles sources de données ont la priorité lorsque plusieurs sources fournissent la même métrique.

Configuration des entraînements

Lorsque Entraînements est sélectionné :

Inclure les données de route - Activez pour inclure les routes pour les entraînements qui ont des données de localisation.

Inclure les métriques d'entraînement - Activez pour inclure les métriques de santé collectées pendant les entraînements (fréquence cardiaque, calories, etc.).

Regroupement temporel (Métriques d'entraînement) - Lors de l'utilisation de la Version d'export 2 et Inclure les métriques d'entraînement est activé :

  • Minutes - Regroupe les métriques d'entraînement par minute
  • Secondes - Regroupe les métriques d'entraînement par seconde

Paramètres d'export

Format d'export

Note : Les automatisations MQTT ne prennent en charge que le format JSON. Ce paramètre ne peut pas être modifié et est automatiquement défini sur JSON.

Version d'export

Sélectionnez une Version d'export pour les données d'entraînement :

  • Version 1 - Format hérité
  • Version 2 - Format actuel avec données d'entraînement améliorées

Note : La Version d'export affecte principalement la structure des données d'entraînement si vous exportez des entraînements.

Plage de dates

Sélectionnez quand les données doivent être exportées :

  • Par défaut - Synchronise les données pour la journée complète précédente plus les données jusqu'à la date et l'heure actuelles
  • Depuis la dernière synchronisation - À chaque synchronisation, exporte toutes les données depuis la dernière fois que l'export s'est exécuté jusqu'à la date et l'heure actuelles
  • Aujourd'hui - Synchronise toutes les données pour la date actuelle jusqu'à l'heure actuelle
  • Hier - Synchronise toutes les données pour la journée complète précédente
  • 7 derniers jours - Synchronise les données pour les sept jours complets précédents

Résumer les données

Lors de l'utilisation du format JSON avec le type de données Métriques de santé, activez ou désactivez Résumer les données.

  • ON - Fournit des résumés de données agrégées (par défaut)
  • OFF - Fournit des données désagrégées lorsque possible, affichant des points de données individuels

Regroupement temporel

Lorsque Résumer les données est activé, sélectionnez comment les données doivent être agrégées.

Résumer les données

Activez ou désactivez Résumer les données pour Métriques de santé.

  • ON - Fournit des résumés de données agrégées (par défaut)
  • OFF - Fournit des données désagrégées lorsque possible

Note : Ce paramètre s'applique uniquement au type de données Métriques de santé.

Fréquence de synchronisation

Configurez la fréquence à laquelle l'automatisation doit publier des données sur MQTT :

Sélectionnez un nombre et un intervalle.

Tests et vérification

Tests manuels

  1. Appuyez sur "Export manuel" dans l'écran de configuration de l'automatisation
  2. Sélectionnez une plage de dates
  3. Appuyez sur "Exporter" pour publier un message
  4. Utilisez un client MQTT pour vous abonner à votre sujet et vérifier que le message a été reçu

Utilisation d'un client MQTT

Pour vérifier que les messages sont publiés :

  1. Configurez un client MQTT
  2. Connectez-vous à votre courtier MQTT en utilisant les mêmes identifiants
  3. Abonnez-vous à votre sujet
  4. Déclenchez un export manuel depuis l'application
  5. Vérifiez que le message apparaît dans votre client MQTT

Consultation des journaux d'activité

  1. Appuyez sur "Voir les journaux d'activité" dans l'écran de configuration de l'automatisation
  2. Consultez les exécutions récentes de l'automatisation
  3. Vérifiez les erreurs de connexion ou les échecs de publication
  4. Vérifiez les horodatages de publication

Format de message

Les messages MQTT sont publiés en JSON. Le contenu du message suit le format JSON d'export standard :

{
  "data": {
    "metrics": [...],
    "workouts": [...],
    ...
  }
}

Le message est publié avec :

  • Sujet : Tel que configuré dans l'automatisation
  • QoS : Livraison au plus une fois
  • Conserver : Les messages ne sont pas conservés
  • Contenu : Chaîne JSON contenant des données de santé

Dépannage

Problèmes courants

Échecs de connexion

  • Vérifiez que l'adresse IP/nom d'hôte du courtier est correct
  • Vérifiez que le port est correct et que le courtier écoute sur ce port
  • Assurez-vous de la connectivité réseau au courtier
  • Vérifiez que les règles du pare-feu autorisent les connexions au courtier
  • Vérifiez si le courtier nécessite TLS/SSL

Échecs d'authentification

  • Vérifiez que le nom d'utilisateur et le mot de passe sont corrects
  • Vérifiez que l'authentification est activée sur votre courtier si des identifiants sont fournis
  • Assurez-vous que l'utilisateur a la permission de publier sur le sujet spécifié

Messages non reçus

  • Vérifiez que le nom du sujet correspond exactement (sensible à la casse)
  • Vérifiez que les abonnés sont connectés au même courtier
  • Assurez-vous que les abonnés sont abonnés au bon sujet
  • Vérifiez que l'automatisation est activée et en cours d'exécution
  • Vérifiez les Journaux d'activité pour les erreurs de publication

Taille de message importante

  • Réduisez le nombre de métriques de santé sélectionnées
  • Utilisez des options d'agrégation moins granulaires
  • Envisagez de diviser en plusieurs automatisations pour différents types de données

Conseils et meilleures pratiques

  1. Organisation des sujets :

    • Utilisez des structures de sujets hiérarchiques (par exemple, health/metrics, health/workouts)
    • Incluez des identifiants d'appareil ou d'automatisation dans les sujets
    • Documentez votre structure de sujets pour référence facile
  2. Taille des messages :

    • Gardez les messages raisonnablement dimensionnés pour éviter les limites du courtier MQTT
    • Utilisez une agrégation moins granulaire pour réduire le volume de données
    • Envisagez de diviser de grands ensembles de données sur plusieurs messages
  3. Surveillance :

    • Utilisez les Journaux d'activité dans l'application pour suivre le succès de la publication
  4. Courtiers cloud :

    • Lors de l'utilisation de courtiers MQTT cloud (AWS IoT, HiveMQ Cloud, etc.) :
      • Suivez leurs exigences de connexion spécifiques
      • Vérifiez leurs limites de taille et de débit de messages
      • Vérifiez les conventions de nommage des sujets