Apple HealthデータをHome Assistantと同期

ヘルスデータをHome Assistantと統合します。

Last updated: February 5, 2026

On this page

Home Assistant自動化により、ヘルスデータをHome Assistantにセンサー状態として自動的に同期できます。この統合により、Home Assistantの自動化、ダッシュボード、その他の統合でヘルスデータを使用できます。

概要

Home Assistant自動化は、ヘルスメトリクスをHome AssistantのREST APIに送信し、Home Assistantインスタンス全体で使用できるセンサー状態を作成または更新します。データは、Home Assistantの/states/ API専用にフォーマットされています。

使用例:

  • Home Assistantダッシュボードでヘルスメトリクスを表示
  • ヘルスデータに基づく自動化を作成
  • ヘルスデータを他のスマートホームデバイスと統合
  • Home Assistantで時間の経過に伴うヘルストレンドを追跡

主な機能:

  • 自動センサー状態作成
  • JSON形式のみ(Home Assistant用に最適化)
  • Health Metricsデータタイプのみ
  • シンプルなURL設定

制限事項

  • ヘルスデータへのアクセス: iPhoneがロックされている間、アプリはヘルスデータにアクセスできません。自動化は、デバイスがロック解除されている期間中のみ実行されます。これにより、データの鮮度に影響する可能性があります。データを最新に保つための手動同期の手順を参照してください。

  • バックグラウンド処理: iOSはバッテリー寿命を維持するためにバックグラウンド処理を制限します。自動化はアプリのバックグラウンド更新に依存しており、以下の場合、すぐに実行されない可能性があります:

    • アプリのバックグラウンド更新が無効になっている
    • デバイスが低電力モードになっている
    • デバイスが長時間非アクティブになっている
    • システムリソースが制限されている
    • 複数のアプリがバックグラウンド実行時間を競合している
  • Health Metricsデータタイプのみをサポート

  • JSON形式のみ(変更不可)

前提条件

  • ネットワーク上で実行中でアクセス可能なHome Assistantインスタンス
  • Home Assistant APIアクセストークン(長期アクセストークン)
  • Home Assistantインスタンスへのネットワーク接続
  • REST APIをサポートするHome Assistantバージョン

設定

メインナビゲーションから自動化エクスポート画面に移動し、「新しい自動化」をタップして、自動化タイプとして「Home Assistant」を選択します。

自動化名

自動化の説明名を入力します。この名前は、Home AssistantでセンサーエンティティIDを生成するために使用されます。

注: 自動化名は、エンティティIDを作成するために小文字に変換され、スペースが削除されます。たとえば、「マイヘルスデータ」はhae.maiherusudetaになります。

通知

通知を受け取るタイミングを設定します:

  • キャッシュ更新時に通知 - キャッシュされたデータが更新されたときに通知を受け取る
  • 実行時に通知 - 自動化が実行されるたびに通知を受け取る

Home Assistant URL

Home AssistantインスタンスのベースURLを入力します。デフォルトを使用しない場合は、プロトコルとポートを含める必要があります。

URLの例:

  • http://homeassistant.local:8123
  • http://192.168.1.100:8123

注: URLはデバイスからアクセス可能である必要があります。HTTPSを使用する場合は、証明書が有効であることを確認するか、例外を追加してください。

自動生成エンドポイント

アプリは、自動化名に基づいて完全なAPIエンドポイントを自動的に生成します:

{your_url}/api/states/hae.{automation_name}

たとえば、URLがhttp://homeassistant.local:8123で、自動化名が「ヘルスメトリクス」の場合、エンドポイントは次のようになります:

http://homeassistant.local:8123/api/states/hae.herusumetorikusu

このエンドポイントは、参照用にURLフィールドの下に表示されます。

リクエストタイムアウト

Home AssistantへのHTTPリクエストのタイムアウト間隔を選択します。

利用可能なタイムアウトオプション:

  • 60秒 - デフォルト、ほとんどのHome Assistantインスタンスに適しています
  • 300秒(5分) - より遅いHome Assistantインスタンス用
  • 1800秒(30分) - 非常に遅い処理用
  • 3600秒(1時間) - 推奨される最大タイムアウト

HTTPヘッダー

Home Assistant APIアクセス用の認証ヘッダーを追加します。長期アクセストークンでAuthorizationヘッダーを追加する必要があります。

必須ヘッダー:

  • Authorization: Bearer YOUR_LONG_LIVED_ACCESS_TOKEN

長期アクセストークンを取得するには:

  1. Home Assistantを開く
  2. プロフィールに移動(左下の名前をクリック)
  3. 「長期アクセストークン」までスクロール
  4. 「トークンを作成」をクリック
  5. 名前を付ける(例:「Health Auto Export」)
  6. トークンをコピーしてヘッダー値フィールドに貼り付け

オプションヘッダー:
Home Assistant設定に必要に応じて、追加のヘッダーを追加できます。

ヘッダーを追加するには:

  1. 「ヘッダーを追加」をタップ
  2. 左のフィールドにヘッダーキーを入力
  3. 右のフィールドにヘッダー値を入力
  4. 追加のヘッダーについて繰り返す

重要: 各ヘッダーキーには対応する値が必要です。空のヘッダーは無視されます。

データタイプ設定

データタイプ

注: Home Assistant自動化は、Health Metricsデータタイプのみをサポートします。この設定は変更できず、自動的にHealth Metricsに設定されます。

Health Metrics設定

Health Metricsを選択 - 含める特定のメトリクスを選択します。利用可能なすべてのメトリクスを選択するか、特定のメトリクスを選択できます。

ヒント: 必要なメトリクスのみを選択すると、処理時間を改善し、Home Assistantに送信されるデータサイズを削減できます。

優先ソース - 複数のソースが同じメトリクスを提供する場合に、どのデータソースに優先順位を付けるかを設定します。

エクスポート設定

エクスポート形式

注: Home Assistant自動化は、JSON形式のみをサポートします。この設定は変更できず、自動的にJSONに設定されます。

エクスポートバージョン

注: エクスポートバージョンは、形式がHome Assistantの状態API専用に最適化されているため、Home Assistant自動化では使用できません。

日付範囲

データをエクスポートするタイミングを選択します:

  • デフォルト - 前日の完全なデータと現在の日時までのデータを同期
  • 今日 - 現在の日付の現在時刻までのすべてのデータを同期
  • 昨日 - 前日の完全なすべてのデータを同期

注: Home Assistant自動化は、「リアルタイム」、「最後の同期以降」、または「過去7日間」オプションをサポートしていません。

データを要約

Health Metricsのデータを要約をONまたはOFFに切り替えます。

  • ON - 集約されたデータ要約を提供(デフォルト)
  • OFF - 可能な場合は非集約データを提供

注: この設定は、Health Metricsデータタイプにのみ適用されます。

時間グループ化

データを要約が有効な場合、データを集約する方法を選択します:

  • デフォルト - 集約なし、生データポイント
  • - 日ごとにデータをグループ化(推奨)

同期頻度

自動化がHome Assistantとデータを同期する頻度を設定します:

数値と間隔を選択します。

テストと検証

手動テスト

  1. 自動化設定画面で「手動エクスポート」をタップ
  2. 日付範囲を選択
  3. 「エクスポート」をタップしてテストリクエストを送信
  4. Home Assistantでセンサー状態が作成/更新されたことを確認

Home Assistantでの検証

  1. Home Assistantを開く
  2. 開発者ツール > 状態に移動
  3. hae.{your_automation_name}(小文字、スペースなし)を検索
  4. センサー状態にヘルスデータが表示されていることを確認
  5. 「最終更新」タイムスタンプを確認して、最近の同期を確認

アクティビティログの表示

  1. 自動化設定画面で「アクティビティログを表示」をタップ
  2. 最近の自動化実行を確認
  3. エラーや警告を確認
  4. リクエストタイムスタンプと応答ステータスを確認

Home Assistantログの確認

データがHome Assistantに表示されない場合:

  1. Home Assistantを開く
  2. 設定 > システム > ログに移動
  3. REST APIまたはセンサー状態に関連するエラーを探す
  4. 認証エラーまたは無効なデータ形式を確認

トラブルシューティング

一般的な問題

認証エラー

  • 長期アクセストークンが正しいことを確認
  • AuthorizationヘッダーがBearer YOUR_TOKENとしてフォーマットされていることを確認
  • トークンの有効期限が切れていないか、取り消されていないかを確認
  • トークンがHome Assistantで適切な権限を持っていることを確認

センサーがHome Assistantに表示されない

  • 自動化名に特殊文字が含まれていないことを確認
  • エンティティID形式を確認: hae.{automation_name}(小文字、スペースなし)
  • Home Assistantログでエラーを確認
  • APIリクエストが成功したことを確認(アクティビティログを確認)

データが更新されない

  • 自動化が有効になっていることを確認
  • アクティビティログでエラーを確認
  • Home Assistantへのネットワーク接続を確認

接続タイムアウト

  • Home Assistantが実行中でアクセス可能であることを確認
  • ネットワーク接続を確認
  • Home Assistantの応答が遅い場合は、リクエストタイムアウト設定を増やす
  • URLとポートが正しいことを確認

エラーメッセージ

アプリは、以下の場合にエラーメッセージを表示します:

  • URLが無効または到達不能
  • 認証が失敗した場合(Authorizationヘッダーを確認)
  • Home Assistantがエラーステータスコードを返した場合
  • ネットワーク接続が利用できない場合

HTTPステータスコードとHome Assistantからのエラーメッセージを含む詳細なエラー情報については、アクティビティログを確認してください。

Home Assistant統合のヒント

自動化でヘルスデータを使用

ヘルスデータがHome Assistantと同期されたら、自動化で使用できます:

automation:
  - alias: "良好な睡眠品質"
    trigger:
      - platform: numeric_state
        entity_id: sensor.hae_myhealthdata_sleep_total
        above: 7
    action:
      - service: notify.mobile_app_your_phone
        data:
          message: "昨夜は素晴らしい睡眠でした!"

ダッシュボードの作成

Home Assistantダッシュボードにヘルスメトリクスを追加:

  1. ダッシュボードに移動
  2. 新しいカードを追加
  3. カードタイプ「エンティティ」または「ゲージ」を選択
  4. hae.{your_automation_name}センサーエンティティを追加

センサー状態の構造

Home Assistantのセンサー状態には以下が含まれます:

  • state: 現在の値またはステータス
  • attributes: 追加データを含む:
    • タイムスタンプ情報
    • エクスポートされたJSON形式に一致するデータ構造
    • 該当する場合の単位情報

ヒントとベストプラクティス

  1. 命名:

    • 問題を引き起こす可能性のある特殊文字を避ける
  2. データ選択:

    • 必要なメトリクスのみを選択