Synchronizuj dane Apple Health z MQTT
Publikuj dane zdrowotne do brokera MQTT.
Last updated: February 5, 2026
On this page
- Przegląd
- Wymagania wstępne
- Konfiguracja
- Nazwa automatyzacji
- Powiadomienia
- Konfiguracja brokera
- Ustawienia typu danych
- Typ danych
- Konfiguracja metryk zdrowia
- Konfiguracja treningów
- Ustawienia eksportu
- Format eksportu
- Wersja eksportu
- Zakres dat
- Podsumuj dane
- Grupowanie czasu
- Podsumuj dane
- Częstotliwość synchronizacji
- Testowanie i weryfikacja
- Testowanie ręczne
- Używanie klienta MQTT
- Przeglądanie dzienników aktywności
- Format wiadomości
- Rozwiązywanie problemów
- Typowe problemy
- Wskazówki i najlepsze praktyki
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/datahome/health/metricsuser/health/exporthae/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-iphonehae-client-001ios-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
- Dotknij "Eksport ręczny" na ekranie konfiguracji automatyzacji
- Wybierz zakres dat
- Dotknij "Eksportuj", aby opublikować wiadomość
- 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:
- Skonfiguruj klienta MQTT
- Połącz się z brokerem MQTT używając tych samych poświadczeń
- Subskrybuj temat
- Wyzwól ręczny eksport z aplikacji
- Zweryfikuj, że wiadomość pojawia się w kliencie MQTT
Przeglądanie dzienników aktywności
- Dotknij "Wyświetl dzienniki aktywności" na ekranie konfiguracji automatyzacji
- Przejrzyj ostatnie uruchomienia automatyzacji
- Sprawdź błędy połączenia lub niepowodzenia publikacji
- 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
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
- Używaj hierarchicznych struktur tematów (np.
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
Monitorowanie:
- Używaj Dzienników aktywności w aplikacji do śledzenia sukcesu publikacji
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
- Gdy używasz brokerów MQTT w chmurze (AWS IoT, HiveMQ Cloud, itp.):