一、インストールプロセス#
- Docker で HomeAssistant をインストール
- Git でHA - 米家集成をインストール
- 内部ネットワークのトンネリングを設定してパブリックアクセスを実現
- Hass Panel パネルをインストール
- Apple HomeKit Bridge を設定
二、つまずき#
私の docker は 1panel でワンクリックインストールされたもので、HomeAssistant も 1panel アプリストアでワンクリックインストールされました。1panel のデフォルトパスは/opt/1panel/apps/home-assistant/home-assistant/data
です。
小米公式リポジトリのREADME.mdには次のように書かれています:
cd config
git clone https://github.com/XiaoMi/ha_xiaomi_home.git
cd ha_xiaomi_home
./install.sh /config
私はconfig
フォルダが/opt/1panel/apps/home-assistant/home-assistant/data
フォルダ内に新しく作成することを指していると思っていましたが、インストール後にxiaomi_home
が表示されず、後で記事を読んでdata
が記事で言及されているconfig
フォルダであることを知りました。つまり、1panel でインストールされた HomeAssistant の場合、単にcd
して/opt/1panel/apps/home-assistant/home-assistant/data
に移動し、インストールを実行すればよいのです。1panel のデフォルトアプリストアのインストールには本当に多くの落とし穴があり、多くのコンテナのインストールにはさまざまな問題があり、非常に面倒です。
この問題を解決した後、HA - 米家集成を正常にインストールできました。
インストールが完了した後、Github のチュートリアルに従って手順を設定してログインすれば大丈夫です。現在、米家のほとんどの製品は直接インポートできますが、一部の Bluetooth などの接続デバイスはまだ対応していません。
三、パブリックアクセスの設定#
本来、このステップは最も簡単なステップだと思っていましたが、以前の操作に従って cloudflare zero trust パネルでドメインバインディングを設定した後、アクセスするとエラーが発生しました。その後、しばらく試行錯誤し、最終的に HA のコミュニティフォーラムで関連するディスカッションスレッドを見つけて、無事に解決しました。
設定中に遭遇した問題:#
-
設定後にアクセスするとエラーが発生:
400: Bad Request
- 解決方法:設定ファイルを修正
- 一般的には、HA の
configuration.yaml
ファイルに次のコードを追加する必要があります:
http: use_x_forwarded_for: true trusted_proxies: - 192.168.31.137/32
ここでの
trusted_proxies
フィールドの下の部分は、自分のデバイスの IP に変更する必要があります。 -
リカバリーモード(Recovery mode)
-
https://community.home-assistant.io/t/cloudflare-400-bad-request-error/326047/24
-
時々、
configuration.yaml
を修正した後に HA を再起動すると、HA がリカバリーモードに入ることがあります。 -
原因は設定ファイルの形式に問題があるか、他の理由で設定ファイルを読み込めないため、システムがリカバリーモードに入ります。
-
解決方法:
configuration.yaml
の形式を注意深く確認する必要があります。注意すべき点は、trusted_proxies
は IP アドレスまたは CIDR 形式のサブネットマスクのみを受け入れ、ドメイン名を直接使用することはできません。Home Assistant がこれらのドメイン名を解決しようとするとエラーが発生し、http
コンポーネントの起動に失敗します。
-
-
関連問題:依存する
http
コンポーネントが読み込まれないhttp
は多くのコアコンポーネントの基盤であり、frontend
(フロントエンドインターフェース)、websocket_api
(WebSocket 通信)、zeroconf
(ゼロコンフィグネットワーク発見)などが含まれます。http
コンポーネントが読み込まれない場合、それに依存するすべての機能が無効になり、大量のエラーが発生します。
四、Hass panel パネルのインストール#
1. 問題の概要:#
-
パブリックアクセスを設定した後、HA パネルに表示されるメッセージ:
the operation is insecure
-
Failed to construct 'WebSocket': An insecure WebSocket connection may not be initiated from a page loaded over HTTPS.
2. 原因:#
これらの 2 つの問題、またはこの種の問題の原因は似ています。最初のデプロイが成功した後、初期化時に入力したhttp
で始まるローカルアドレスが、HA がドメインをバインドした後に HA 内で Hasspanel にアクセスするとhttps
に変わり、http
にリダイレクトされるため、不安全な動作がブラウザによってブロックされます。
3. 解決方法:#
Hasspanel を再初期化し、URL を入力する際にhttps
アドレスを入力します。
五、Apple HomeKit Bridge#
HA パネル - 設定 - デバイスとサービス - インテグレーションを追加 - "Apple" を検索し、次に "HomeKit Bridge" を選択し、次へ進むと、HA からメッセージが表示されます。そのメッセージを開いて iPhone でメッセージ内の QR コードをスキャンしてペアリングを追加すれば大丈夫です。特に難しいことはありません。
コントロールセンターも追加できます!
ただし、現在米家集成でサポートされていないデバイスは Apple 家庭に追加できません。また、一部のデバイス、例えば空気清浄機には温湿度センサーがあり、HA パネルでも検出して追加できますが、Apple 家庭では使用できず、単純な空気清浄機のスイッチ機能しかありません。残念です。
五、まとめ#
ここまでで、HA の設定はほぼ完了しました。
夜に物事を研究するのは本当にインスピレーションが爆発し、問題解決能力が向上します。昼間は静かにできず、効率が非常に悪いと感じます。
解決完了、alexblue
ログアウト!