Sinkronkan Data Apple Health ke MQTT
Publikasikan data kesehatan ke broker MQTT.
Last updated: March 31, 2026
Di halaman ini
- Ringkasan
- Prasyarat
- Konfigurasi
- Nama Otomatisasi
- Notifikasi
- Konfigurasi Broker
- Pengaturan Jenis Data
- Data Type
- Health Metrics Configuration
- Workout Configuration
- Pengaturan Ekspor
- Export Format
- Export Version
- Date Range
- Summarize Data
- Time Grouping
- Summarize Data
- Frekuensi Sinkronisasi
- Pengujian & Verifikasi
- Pengujian Manual
- Menggunakan Klien MQTT
- Melihat Activity Logs
- Format Pesan
- Pemecahan Masalah
- Masalah Umum
- Tips dan Praktik Terbaik
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/datahome/health/metricsuser/health/exporthae/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-iphonehae-client-001ios-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
- Ketuk "Manual Export" di layar konfigurasi otomatisasi
- Pilih rentang tanggal
- Ketuk "Export" untuk memublikasikan pesan
- Gunakan klien MQTT untuk berlangganan topik Anda dan pastikan pesan diterima
Menggunakan Klien MQTT
Untuk memastikan pesan terkirim:
- Siapkan klien MQTT
- Hubungkan ke broker menggunakan kredensial yang sama
- Subscribe ke topik Anda
- Jalankan ekspor manual dari aplikasi
- Pastikan pesan muncul di klien MQTT
Melihat Activity Logs
- Ketuk "View Activity Logs" di layar konfigurasi otomatisasi
- Tinjau riwayat eksekusi otomatisasi
- Cari error koneksi atau kegagalan publikasi
- 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
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
- Isi daya perangkat dan gunakan iPhone Mirroring
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
- Gunakan struktur topik hierarkis (misal
Ukuran pesan:
- Jaga ukuran pesan agar tidak melewati batas broker
- Gunakan agregasi kurang rinci untuk mengurangi volume
- Pertimbangkan memecah dataset besar ke beberapa pesan
Pemantauan:
- Gunakan Activity Logs di aplikasi untuk melacak keberhasilan publikasi
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
- Jika memakai broker MQTT cloud (AWS IoT, HiveMQ Cloud, dll.):