Sinkronkan Data Apple Health ke MQTT

Publikasikan data kesehatan ke broker MQTT.

Last updated: March 31, 2026

Di halaman ini

Otomatisasi MQTT memungkinkan Anda memublikasikan data kesehatan secara otomatis ke broker MQTT. Metode ini ideal untuk integrasi dengan platform IoT, sistem otomasi rumah, atau layanan apa pun yang mendukung pesan MQTT.

Ringkasan

Otomatisasi MQTT mengirim data kesehatan Anda sebagai pesan JSON ke topik MQTT tertentu pada broker. Data dikirim setiap kali otomatisasi berjalan sesuai pengaturan frekuensi sinkronisasi Anda.

Contoh penggunaan:

  • Integrasi dengan platform IoT (Home Assistant, OpenHAB, dll.)
  • Memublikasikan data kesehatan ke dasbor berbasis MQTT
  • Sistem pemantauan kesehatan real-time
  • Integrasi otomasi rumah kustom
  • Platform pencatatan serta analitik data

Fitur utama:

  • Hanya format JSON (dioptimalkan untuk MQTT)
  • Mendukung koneksi terautentikasi maupun anonim
  • Struktur topik dapat dikonfigurasi
  • Pengelolaan Client ID
  • Autentikasi username/password opsional

Keterbatasan

  • Akses Data Kesehatan: Aplikasi tidak dapat mengakses data kesehatan saat iPhone terkunci. Otomatisasi hanya berjalan ketika perangkat terbuka sehingga dapat memengaruhi kebaruan data. Gunakan sinkronisasi manual untuk menjaga data tetap terbaru.

  • Pemrosesan Latar Belakang: iOS membatasi proses latar belakang demi menghemat baterai. Otomatisasi bergantung pada Background App Refresh dan mungkin tidak langsung berjalan jika:

    • Background App Refresh dinonaktifkan untuk aplikasi
    • Perangkat berada di Mode Daya Rendah
    • Perangkat tidak aktif dalam waktu panjang
    • Sumber daya sistem terbatas
    • Banyak aplikasi bersaing atas waktu eksekusi latar belakang
  • Hanya format JSON (tidak dapat diubah)

  • Memerlukan broker MQTT (lokal ataupun cloud)

Prasyarat

  • Broker MQTT (misalnya Mosquitto, HiveMQ, AWS IoT Core, dll.)
  • Konektivitas jaringan ke broker MQTT Anda
  • Alamat IP atau hostname broker
  • Nomor port
  • Opsional: Username dan password jika broker membutuhkan autentikasi

Konfigurasi

Buka layar Automated Exports dari navigasi utama, ketuk "New Automation", lalu pilih "MQTT" sebagai jenis otomatisasi.

Nama Otomatisasi

Masukkan nama deskriptif untuk otomatisasi (misal, "Home Assistant MQTT", "Cloud MQTT Broker").

Notifikasi

Atur kapan Anda ingin menerima notifikasi:

  • Notify on Cache Update - Notifikasi saat data cache diperbarui
  • Notify When Run - Notifikasi setiap kali otomatisasi memublikasikan data

Konfigurasi Broker

IP Address

Masukkan alamat IP atau hostname broker MQTT Anda.

Contoh:

  • 192.168.1.100 (alamat IP lokal)
  • mqtt.example.com (hostname)
  • broker.hivemq.com (broker MQTT cloud)
  • localhost (jika berjalan pada perangkat yang sama, tidak disarankan untuk iOS)

Catatan: Gunakan alamat IP untuk broker lokal di jaringan Anda, atau hostname untuk broker berbasis cloud. Pastikan broker tersebut dapat diakses dari perangkat Anda.

Port

Masukkan nomor port untuk broker MQTT Anda.

Catatan: Port bawaan adalah 1883.

Topic

Masukkan topik MQTT tempat data kesehatan akan dipublikasikan. Subscriber harus menggunakan topik ini untuk menerima data.

Contoh topik:

  • health/data
  • home/health/metrics
  • user/health/export
  • hae/nama-otomatisasi

Praktik terbaik:

  • Gunakan garis miring (/) untuk membuat hierarki topik
  • Gunakan nama deskriptif yang menjelaskan jenis data
  • Hindari spasi dan karakter khusus
  • Pertimbangkan menambahkan nama otomatisasi jika Anda punya beberapa otomatisasi

Catatan: Nama topik bersifat case-sensitive. Pastikan subscriber memakai nama topik yang sama persis.

Client ID

Masukkan Client ID unik untuk koneksi MQTT ini agar broker dapat mengenali perangkat Anda.

Contoh Client ID:

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

Username (Opsional)

Masukkan username untuk autentikasi broker MQTT. Kosongkan jika tidak dibutuhkan.

Password (Opsional)

Masukkan password untuk autentikasi broker MQTT. Kosongkan jika tidak diperlukan.

Pengaturan Jenis Data

Data Type

Pilih jenis data kesehatan yang ingin diekspor:

  • Health Metrics - Langkah, detak jantung, tidur, dan metrik kesehatan lainnya
  • Workouts - Aktivitas olahraga
  • Symptoms - Gejala atau kondisi kesehatan
  • ECG - Rekaman elektrokardiogram
  • Heart Rate Notifications - Pemberitahuan detak jantung tinggi/rendah
  • State of Mind - Catatan suasana hati dan kesehatan mental (iOS 18.0+)
  • Cycle Tracking - Data siklus menstruasi dan kesehatan reproduksi
  • Medications - Catatan obat dan kepatuhan (iOS 26.0+)

Health Metrics Configuration

Jika memilih Health Metrics:

Select Health Metrics - Pilih metrik mana yang akan disertakan. Anda dapat memilih semuanya atau metrik tertentu saja.

Tip: Memilih hanya metrik yang diperlukan dapat mengurangi ukuran pesan dan waktu proses.

Preferred Sources - Atur sumber data mana yang diprioritaskan saat ada beberapa sumber untuk metrik yang sama.

Workout Configuration

Jika memilih Workouts:

Include Route Data - Aktifkan untuk menyertakan rute pada latihan yang memiliki data lokasi.

Include Workout Metrics - Aktifkan untuk menyertakan metrik kesehatan yang dicatat selama latihan (detak jantung, kalori, dll.).

Time Grouping (Workout Metrics) - Saat menggunakan Export Version 2 dan opsi Include Workout Metrics aktif:

  • Minutes - Mengelompokkan metrik latihan per menit
  • Seconds - Mengelompokkan metrik latihan per detik

Pengaturan Ekspor

Export Format

Catatan: Otomatisasi MQTT hanya mendukung format JSON. Pengaturan ini dikunci ke JSON.

Export Version

Pilih Export Version untuk data latihan:

  • Version 1 - Format lama
  • Version 2 - Format terbaru dengan detail latihan lebih kaya

Catatan: Export Version terutama memengaruhi struktur data latihan jika Anda mengekspor workouts.

Date Range

Pilih rentang tanggal data yang diekspor:

  • Default - Menyinkronkan data sehari penuh sebelumnya plus data hingga waktu saat ini
  • Since Last Sync - Setiap sinkronisasi mengekspor semua data sejak sinkronisasi terakhir hingga sekarang
  • Today - Menyinkronkan semua data hari ini hingga waktu saat ini
  • Yesterday - Menyinkronkan data sepanjang hari kemarin
  • Previous 7 Days - Menyinkronkan data tujuh hari penuh sebelumnya

Summarize Data

Jika menggunakan format JSON dengan Health Metrics, Anda bisa menyalakan atau mematikan Summarize Data.

  • ON - Menyediakan ringkasan data agregat (default)
  • OFF - Menyediakan data terurai jika memungkinkan, menampilkan tiap titik data

Time Grouping

Ketika Summarize Data aktif, pilih cara pengelompokan data.

Summarize Data

Aktifkan atau nonaktifkan Summarize Data untuk Health Metrics.

  • ON - Memberikan ringkasan data agregat (default)
  • OFF - Menyediakan data terurai bila memungkinkan

Catatan: Pengaturan ini hanya berlaku untuk Health Metrics.

Frekuensi Sinkronisasi

Atur seberapa sering otomatisasi memublikasikan data ke MQTT:

Pilih angka dan intervalnya.

Pengujian & Verifikasi

Pengujian Manual

  1. Ketuk "Manual Export" di layar konfigurasi otomatisasi
  2. Pilih rentang tanggal
  3. Ketuk "Export" untuk memublikasikan pesan
  4. Gunakan klien MQTT untuk berlangganan topik Anda dan pastikan pesan diterima

Menggunakan Klien MQTT

Untuk memastikan pesan terkirim:

  1. Siapkan klien MQTT
  2. Hubungkan ke broker menggunakan kredensial yang sama
  3. Subscribe ke topik Anda
  4. Jalankan ekspor manual dari aplikasi
  5. Pastikan pesan muncul di klien MQTT

Melihat Activity Logs

  1. Ketuk "View Activity Logs" di layar konfigurasi otomatisasi
  2. Tinjau riwayat eksekusi otomatisasi
  3. Cari error koneksi atau kegagalan publikasi
  4. Pastikan stempel waktu publikasi sesuai

Format Pesan

Pesan MQTT dikirim dalam format JSON dan mengikuti struktur baku ekspor:

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

Pesan dipublikasikan dengan:

  • Topic: sesuai konfigurasi otomatisasi
  • QoS: At most once delivery
  • Retain: pesan tidak disimpan
  • Payload: string JSON berisi data kesehatan

Pemecahan Masalah

Masalah Umum

Kegagalan koneksi

  • Pastikan alamat IP/hostname broker benar
  • Cek apakah port sudah tepat dan broker mendengarkan port tersebut
  • Pastikan jaringan Anda dapat menjangkau broker
  • Tinjau aturan firewall agar koneksi diperbolehkan
  • Periksa apakah broker membutuhkan TLS/SSL

Autentikasi gagal

  • Pastikan username dan password benar
  • Periksa apakah autentikasi di broker aktif bila Anda mengirim kredensial
  • Pastikan pengguna memiliki izin untuk memublikasikan ke topik tersebut

Pesan tidak diterima

  • Pastikan nama topik benar (case-sensitive)
  • Periksa apakah subscriber terhubung ke broker yang sama
  • Pastikan subscriber mendaftar ke topik yang benar
  • Pastikan otomatisasi aktif dan berjalan
  • Periksa Activity Logs apakah ada error publikasi

Ukuran pesan terlalu besar

  • Kurangi jumlah metrik yang dipilih
  • Gunakan opsi agregasi yang kurang rinci
  • Pertimbangkan memecah menjadi beberapa otomatisasi untuk jenis data berbeda

Tips dan Praktik Terbaik

  1. Sinkronisasi otomatis:

    • Isi daya perangkat dan gunakan iPhone Mirroring
      • Ketika perangkat diisi daya, iOS memberi batasan lebih sedikit sehingga sinkronisasi bisa lebih sering
      • Dengan iPhone Mirroring, perangkat bertindak seperti tidak terkunci sehingga Health Auto Export dapat menjalankan aksi otomatis
  2. Organisasi topik:

    • Gunakan struktur topik hierarkis (misal health/metrics, health/workouts)
    • Sertakan identitas perangkat atau otomatisasi di dalam topik
    • Dokumentasikan struktur topik untuk referensi cepat
  3. Ukuran pesan:

    • Jaga ukuran pesan agar tidak melewati batas broker
    • Gunakan agregasi kurang rinci untuk mengurangi volume
    • Pertimbangkan memecah dataset besar ke beberapa pesan
  4. Pemantauan:

    • Gunakan Activity Logs di aplikasi untuk melacak keberhasilan publikasi
  5. Broker cloud:

    • Jika memakai broker MQTT cloud (AWS IoT, HiveMQ Cloud, dll.):
      • Ikuti persyaratan koneksi yang mereka tetapkan
      • Periksa batas ukuran dan laju pesan
      • Pastikan konvensi penamaan topik sesuai