Home Assistantで最も重要なコンポーネントは、現在の制御経路から迂回できないものです。たとえば、Zigbeeのモーションライトでは、コーディネーター、Zigbee2MQTTまたはZHA、Home Assistantのイベント経路、自動化ロジック、対象のライトが該当します。LAN接続のサーモスタットでは、統合とローカルネットワークが重要になります。Recorder、ダッシュボード、クラウドサービスは重要であっても、その直接的な経路上にあるとは限りません。
したがって、信頼性の高いローカル制御は、ハードウェアの順位付けではなく依存関係グラフです。CPU、RAM、データベース、無線、MQTTブローカー、DNS、スイッチ、デバイスのファームウェアは、テストするアクションによって重要度が異なります。
処理がイベントループに到達する場合、コアのスケジューリングが重要
Home Assistantは、非同期ランタイムを通じて状態変更、コールバック、自動化の評価、サービス呼び出しを調整します。イベントループが健全であれば、多くの統合はI/Oを待機しながら、関係のないローカル処理を停止させずに動作できます。
Home Assistantの現在の非同期アーキテクチャでは、タスクはイベントループを通じてスケジュールされ、互換性のあるI/Oを待機している間は一時停止します。コードがそのループをブロックしたり、過剰な処理でループを圧迫したりすると、信頼性のリスクが現れます。
診断では、イベントループの応答性と症状を比較します。インスタンス全体が停止する場合は、コアのスケジューリングまたはブロッキングする統合が疑われます。1つのデバイス群だけが失敗する場合は、統合またはトランスポートに近い範囲で調査を続けます。
統合とデバイスのトランスポートが物理的な境界を定めることが多い
Home Assistantは、デバイスへの接続に使用するトランスポート以上に安定してデバイスを制御することはできません。Zigbeeには健全なコーディネーターとメッシュが必要です。MQTTにはブローカーとトピックが必要です。LAN統合にはルーティングとデバイスAPIが必要です。クラウド統合にはインターネット接続とベンダーのサービスが必要です。
実用的なローカル優先のスマートホームガイドでは、クラウド接続が利用できない場合でもローカルで動作し続けるプロトコルとデバイスを選ぶことを推奨しています。これにより、障害によって物理的なアクションが妨げられる可能性のあるリモートコンポーネントの数を減らせます。
サーバーハードウェアを交換する前に、トランスポートをテストしてください。無線干渉の問題や利用できないベンダーAPIは、CPUやメモリがほとんどアイドル状態でも発生します。
MQTTとブリッジが重要になるのは、それらを経由するデバイスに限られる
Zigbee2MQTTなどのブリッジがMQTTを通じてデバイスの状態を公開する場合、ブローカーはブリッジとHome Assistantの間にある同期的なサービス境界になります。ブローカーが利用できないと、直接統合は通常どおり動作していても、それらのエンティティは更新されなくなります。
Home AssistantとZigbee2MQTTは、ディスカバリー、状態、コマンド、可用性のメッセージを使用して、この経路を再構成します。ZimaSpaceによるスマートホームスタックにおけるコントローラーの役割と信頼の役割の分離の説明は、有用な比較になります。目に見えるデバイスが、Home Assistant Coreとは別の中間コントローラーやブローカーに依存する場合があるためです。
どのエンティティ群がどのブリッジを使用しているかを把握してください。ネイティブのMatter、Z-Wave、またはLAN統合が動作している場合、ブローカーの障害を「Home Assistantが停止している」と診断すべきではありません。
Recorderとストレージが制御に影響するのは、主に共有リソースの競合を通じて
Recorderは履歴、ログブック、統計、トラブルシューティングに不可欠ですが、通常の現在状態に基づく自動化では、ライトを点灯するために履歴クエリを必要としません。データベースへの書き込み、バックアップ、または別のサービスがI/O競合を引き起こし、共有ホストの処理を遅延させる場合、ストレージがローカル制御の問題になります。
ストレージのベンチマークに関するガイダンスでは、スループットとレイテンシの違いが強調されています。ディスクは大容量の連続データを処理できても、別のI/Oパターンではレイテンシが悪化することがあります。
そのため、Recorderをより高速なディスクに移動すると、ストレージがボトルネックのシステムは改善できますが、弱いZigbeeメッシュが直るわけではありません。また、容量がいっぱいになったり健全性を失ったりしたデータベース用デバイスは、CPUを追加しても修復できません。
ネットワークとクライアントのコンポーネントは、それぞれ異なる段階で重要になる
サーバーからデバイスまでのLANは物理的な制御経路の一部になる一方、スマートフォンやブラウザーは、アクションがすでに実行された後の観測インターフェースにすぎない場合があります。ダッシュボードが遅いからといって、自動化も遅いとは限りません。
使用率、飽和、エラーを確認する方法を使って各共有リソースを個別に調べます。ただし、すべてのメトリクスを、テスト対象のアクションにおける各段階と結び付けてください。
| コンポーネント | 重要になる場合 | 最初に疑う必要がないことが多い場合 |
|---|---|---|
| イベントループ / CPU | インスタンス全体が停止する | 1台の無線デバイスだけが失敗する |
| 無線 / ブリッジ | 1つのプロトコル群だけが遅延する | 履歴クエリが遅い |
| MQTTブローカー | MQTT経由のエンティティが更新されなくなる | ネイティブLANデバイスは応答する |
| Recorder / ディスク | I/O負荷と制御の遅延が重なる | デバイスのトランスポートが利用できない |
| リモートクライアント経路 | UIやリモート制御が遅い | ローカルの物理自動化は高速に動作する |
実用上のルールは、失敗しているアクションに必要なコンポーネントの最小集合を特定することです。任意のデータ、クラウド、AI、クライアントの経路が、その必要な集合を広げずに停止できるようにすると、信頼性の高いローカル制御を実現しやすくなります。
テック&AIハブ
もっと読む

Home AssistantはLAN接続とリモート接続でなぜパフォーマンスが異なるのですか?
LAN接続とリモート接続のHome Assistantセッションではネットワーク経路が異なります。リモート接続では、DNS、暗号化、WAN、プロキシやVPN、再接続処理による遅延が加わります。

Home AssistantはCGNATや二重NAT環境でも安定して動作しますか?
CGNATと二重NATは通常、ローカルでのHome Assistantの制御には影響しません。主に、リモートクライアントがホームネットワークへのインバウンド経路を確立する方法が変わります。

インターネット障害中、ネットワーク遅延はHome Assistantにどのような影響を与えるか?
インターネット接続の喪失とネットワーク遅延は異なる障害です。DNS、クラウド連携、ゲートウェイ、リモートクライアントが待機している間も、ローカルデバイスへの経路は高速なまま維持されることがあります。

