Synchronizuj dane Apple Health z MQTT

Publikuj dane zdrowotne do brokera MQTT.

Last updated: February 5, 2026

On this page

Automatyzacje MQTT umożliwiają automatyczne publikowanie danych zdrowotnych do brokera MQTT. To idealne rozwiązanie do integracji z platformami IoT, systemami automatyki domowej lub dowolną usługą obsługującą wiadomości MQTT.

Przegląd

Automatyzacje MQTT publikują dane zdrowotne jako wiadomości JSON do określonego tematu MQTT na brokerze MQTT. Dane są wysyłane za każdym razem, gdy automatyzacja działa zgodnie z ustawieniami częstotliwości synchronizacji.

Przypadki użycia:

  • Integracja z platformami IoT (Home Assistant, OpenHAB, itp.)
  • Publikowanie danych zdrowotnych na pulpitach nawigacyjnych opartych na MQTT
  • Systemy monitorowania zdrowia w czasie rzeczywistym
  • Niestandardowe integracje automatyki domowej
  • Platformy rejestrowania i analizy danych

Kluczowe funkcje:

  • Tylko format JSON (zoptymalizowany pod MQTT)
  • Obsługa połączeń uwierzytelnionych i anonimowych
  • Konfigurowalna struktura tematów
  • Zarządzanie ID klienta
  • Opcjonalne uwierzytelnianie nazwa użytkownika/hasło

Ograniczenia

  • Dostęp do danych zdrowotnych: Aplikacje nie mają dostępu do danych zdrowotnych, gdy iPhone jest zablokowany. Automatyzacje będą działać tylko w okresach, gdy urządzenie jest odblokowane. Może to wpłynąć na aktualność danych. Zobacz instrukcje dotyczące ręcznej synchronizacji, aby zachować aktualność danych.

  • Przetwarzanie w tle: iOS ogranicza przetwarzanie w tle, aby zachować żywotność baterii. Automatyzacje polegają na Odświeżaniu aplikacji w tle i mogą nie działać natychmiast, jeśli:

    • Odświeżanie aplikacji w tle jest wyłączone dla aplikacji
    • Urządzenie jest w trybie niskiego zużycia energii
    • Urządzenie było nieaktywne przez dłuższy czas
    • Zasoby systemowe są ograniczone
    • Wiele aplikacji konkuruje o czas wykonania w tle
  • Tylko format JSON (nie można zmienić)

  • Wymaga brokera MQTT (lokalnego lub opartego na chmurze)

Wymagania wstępne

  • Broker MQTT (np. Mosquitto, HiveMQ, AWS IoT Core, itp.)
  • Łączność sieciowa z brokerem MQTT
  • Adres IP lub nazwa hosta brokera
  • Numer portu
  • Opcjonalnie: Nazwa użytkownika i hasło, jeśli broker wymaga uwierzytelniania

Konfiguracja

Przejdź do ekranu Automatyczne Eksporty z głównej nawigacji, następnie dotknij "Nowa Automatyzacja" i wybierz "MQTT" jako Typ Automatyzacji.

Nazwa automatyzacji

Wprowadź opisową nazwę automatyzacji (np. "MQTT Home Assistant", "Broker MQTT w chmurze").

Powiadomienia

Skonfiguruj, kiedy chcesz otrzymywać powiadomienia:

  • Powiadamiaj o aktualizacji cache - Otrzymuj powiadomienie, gdy dane w cache są aktualizowane
  • Powiadamiaj przy uruchomieniu - Otrzymuj powiadomienie za każdym razem, gdy automatyzacja publikuje dane

Konfiguracja brokera

Adres IP

Wprowadź adres IP lub nazwę hosta brokera MQTT.

Przykłady:

  • 192.168.1.100 (lokalny adres IP)
  • mqtt.example.com (nazwa hosta)
  • broker.hivemq.com (broker MQTT w chmurze)
  • localhost (jeśli działa na tym samym urządzeniu, nie zalecane dla iOS)

Uwaga: Używaj adresów IP dla lokalnych brokerów w sieci lub nazw hostów dla brokerów opartych na chmurze. Upewnij się, że broker jest dostępny z urządzenia.

Port

Wprowadź numer portu dla brokera MQTT.

Uwaga: Port domyślny to 1883.

Temat

Wprowadź temat MQTT, gdzie dane zdrowotne będą publikowane. To jest temat, którego subskrybenci będą używać do otrzymywania danych zdrowotnych.

Przykłady tematów:

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

Najlepsze praktyki dotyczące tematów:

  • Używaj ukośników (/) do tworzenia hierarchii tematów
  • Używaj opisowych nazw wskazujących typ danych
  • Unikaj spacji i znaków specjalnych
  • Rozważ uwzględnienie nazwy automatyzacji dla wielu automatyzacji

Uwaga: Nazwa tematu jest wrażliwa na wielkość liter. Upewnij się, że subskrybenci używają dokładnie tej samej nazwy tematu.

ID klienta

Wprowadź unikalne ID klienta dla tego połączenia MQTT. To identyfikuje urządzenie dla brokera MQTT.

Przykłady ID klienta:

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

Nazwa użytkownika (Opcjonalne)

Wprowadź nazwę użytkownika do uwierzytelniania brokera MQTT. Pozostaw puste, jeśli broker nie wymaga uwierzytelniania.

Hasło (Opcjonalne)

Wprowadź hasło do uwierzytelniania brokera MQTT. Pozostaw puste, jeśli broker nie wymaga uwierzytelniania.

Ustawienia typu danych

Typ danych

Wybierz, jaki typ danych zdrowotnych eksportować:

  • Metryki zdrowia - Kroki, tętno, sen i inne pomiary zdrowia
  • Treningi - Ćwiczenia i aktywności fitness
  • Objawy - Objawy i stany zdrowia
  • EKG - Odczyty elektrokardiogramu
  • Powiadomienia o tętnie - Zdarzenia wysokiego/niskiego tętna
  • Stan umysłu - Wpisy dotyczące nastroju i stanu psychicznego (iOS 18.0+)
  • Śledzenie cyklu - Dane cyklu miesiączkowego i zdrowia reprodukcyjnego
  • Leki - Dzienniki leków i przestrzeganie (iOS 26.0+)

Konfiguracja metryk zdrowia

Gdy wybrano Metryki zdrowia:

Wybierz metryki zdrowia - Wybierz, które konkretne metryki uwzględnić. Możesz wybrać wszystkie dostępne metryki lub wybrać konkretne.

Wskazówka: Wybranie tylko potrzebnych metryk zmniejsza rozmiar wiadomości i czas przetwarzania.

Preferowane źródła - Skonfiguruj, które źródła danych mają priorytet, gdy wiele źródeł dostarcza tę samą metrykę.

Konfiguracja treningów

Gdy wybrano Treningi:

Uwzględnij dane trasy - Przełącz WŁĄCZONE, aby uwzględnić trasy dla treningów, które mają dane lokalizacji.

Uwzględnij metryki treningu - Przełącz WŁĄCZONE, aby uwzględnić metryki zdrowia zbierane podczas treningów (tętno, kalorie, itp.).

Grupowanie czasu (Metryki treningu) - Gdy używasz Wersji eksportu 2 i Uwzględnij metryki treningu jest włączone:

  • Minuty - Grupuje metryki treningu według minuty
  • Sekundy - Grupuje metryki treningu według sekundy

Ustawienia eksportu

Format eksportu

Uwaga: Automatyzacje MQTT obsługują tylko format JSON. To ustawienie nie może być zmienione i jest automatycznie ustawione na JSON.

Wersja eksportu

Wybierz Wersję eksportu dla danych treningowych:

  • Wersja 1 - Format starszy
  • Wersja 2 - Bieżący format z ulepszonymi danymi treningowymi

Uwaga: Wersja eksportu wpływa głównie na strukturę danych treningowych, jeśli eksportujesz treningi.

Zakres dat

Wybierz, kiedy dane powinny być eksportowane:

  • Domyślne - Synchronizuje dane dla pełnego poprzedniego dnia plus dane do bieżącej daty i godziny
  • Od ostatniej synchronizacji - Przy każdej synchronizacji eksportuje wszystkie dane od ostatniego uruchomienia eksportu do bieżącej daty i godziny
  • Dzisiaj - Synchronizuje wszystkie dane dla bieżącej daty do bieżącej godziny
  • Wczoraj - Synchronizuje wszystkie dane dla pełnego poprzedniego dnia
  • Ostatnie 7 dni - Synchronizuje dane dla pełnych poprzednich siedmiu dni

Podsumuj dane

Gdy używasz formatu JSON z typem danych Metryki zdrowia, przełącz Podsumuj dane WŁĄCZONE lub WYŁĄCZONE.

  • WŁĄCZONE - Zapewnia zagregowane podsumowania danych (domyślne)
  • WYŁĄCZONE - Zapewnia zdezagregowane dane, gdy to możliwe, pokazując pojedyncze punkty danych

Grupowanie czasu

Gdy Podsumuj dane jest włączone, wybierz, jak dane powinny być agregowane.

Podsumuj dane

Przełącz Podsumuj dane WŁĄCZONE lub WYŁĄCZONE dla Metryk zdrowia.

  • WŁĄCZONE - Zapewnia zagregowane podsumowania danych (domyślne)
  • WYŁĄCZONE - Zapewnia zdezagregowane dane, gdy to możliwe

Uwaga: To ustawienie dotyczy tylko typu danych Metryki zdrowia.

Częstotliwość synchronizacji

Skonfiguruj, jak często automatyzacja powinna publikować dane do MQTT:

Wybierz liczbę i interwał.

Testowanie i weryfikacja

Testowanie ręczne

  1. Dotknij "Eksport ręczny" na ekranie konfiguracji automatyzacji
  2. Wybierz zakres dat
  3. Dotknij "Eksportuj", aby opublikować wiadomość
  4. Użyj klienta MQTT, aby subskrybować temat i zweryfikować, że wiadomość została odebrana

Używanie klienta MQTT

Aby zweryfikować, że wiadomości są publikowane:

  1. Skonfiguruj klienta MQTT
  2. Połącz się z brokerem MQTT używając tych samych poświadczeń
  3. Subskrybuj temat
  4. Wyzwól ręczny eksport z aplikacji
  5. Zweryfikuj, że wiadomość pojawia się w kliencie MQTT

Przeglądanie dzienników aktywności

  1. Dotknij "Wyświetl dzienniki aktywności" na ekranie konfiguracji automatyzacji
  2. Przejrzyj ostatnie uruchomienia automatyzacji
  3. Sprawdź błędy połączenia lub niepowodzenia publikacji
  4. Zweryfikuj znaczniki czasu publikacji

Format wiadomości

Wiadomości MQTT są publikowane jako JSON. Ładunek wiadomości następuje po standardowym formacie eksportu JSON:

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

Wiadomość jest publikowana z:

  • Temat: Zgodnie z konfiguracją w automatyzacji
  • QoS: Dostarczenie co najwyżej raz
  • Zachowaj: Wiadomości nie są zachowywane
  • Ładunek: Ciąg JSON zawierający dane zdrowotne

Rozwiązywanie problemów

Typowe problemy

Błędy połączenia

  • Zweryfikuj, że adres IP/nazwa hosta brokera jest poprawna
  • Sprawdź, czy port jest poprawny i broker nasłuchuje na tym porcie
  • Upewnij się o łączności sieciowej z brokerem
  • Zweryfikuj, że reguły zapory zezwalają na połączenia z brokerem
  • Sprawdź, czy broker wymaga TLS/SSL

Błędy uwierzytelniania

  • Zweryfikuj, że nazwa użytkownika i hasło są poprawne
  • Sprawdź, czy uwierzytelnianie jest włączone na brokerze, jeśli podano poświadczenia
  • Upewnij się, że użytkownik ma uprawnienia do publikowania w określonym temacie

Wiadomości nie odebrane

  • Zweryfikuj, że nazwa tematu pasuje dokładnie (wrażliwa na wielkość liter)
  • Sprawdź, czy subskrybenci są połączeni z tym samym brokerem
  • Upewnij się, że subskrybenci są subskrybowani do właściwego tematu
  • Zweryfikuj, że automatyzacja jest włączona i działa
  • Sprawdź Dzienniki aktywności pod kątem błędów publikacji

Duży rozmiar wiadomości

  • Zmniejsz liczbę wybranych metryk zdrowia
  • Użyj mniej szczegółowych opcji agregacji
  • Rozważ podział na wiele automatyzacji dla różnych typów danych

Wskazówki i najlepsze praktyki

  1. Organizacja tematów:

    • Używaj hierarchicznych struktur tematów (np. health/metrics, health/workouts)
    • Uwzględniaj identyfikatory urządzeń lub automatyzacji w tematach
    • Dokumentuj strukturę tematów dla łatwego odniesienia
  2. Rozmiar wiadomości:

    • Utrzymuj wiadomości w rozsądnym rozmiarze, aby uniknąć limitów brokera MQTT
    • Używaj mniej szczegółowej agregacji, aby zmniejszyć objętość danych
    • Rozważ podział dużych zestawów danych na wiele wiadomości
  3. Monitorowanie:

    • Używaj Dzienników aktywności w aplikacji do śledzenia sukcesu publikacji
  4. Brokery w chmurze:

    • Gdy używasz brokerów MQTT w chmurze (AWS IoT, HiveMQ Cloud, itp.):
      • Postępuj zgodnie z ich specyficznymi wymaganiami dotyczącymi połączenia
      • Sprawdź ich limity rozmiaru i szybkości wiadomości
      • Zweryfikuj konwencje nazewnictwa tematów