Home Assistant: Raspberry Piや古いハードウェアで自分だけのスマートホームを構築する

HomeLab tutorial - IT technology blog
HomeLab tutorial - IT technology blog

背景と理由:スマートホームを完全に制御する

スマートホームの魅力は否定できません。あなたの存在に反応する照明、あなたのニーズを予測する空調、そして安心をもたらすセキュリティシステムを想像してみてください。

長年、多くの人と同じように、私も様々な市販ソリューションに頼ってきました。便利ではあるものの、これらにはベンダーロックイン、クラウドサービスへの依存、そしてプライバシーに関する懸念がつきものでした。自分のスマートホームデータが本当に自分のものなのか、その運用を完全に制御できているのか、という拭い切れない思いが常にありました。

ホームオートメーションの可能性と、囲い込まれたエコシステム

多くの一般的なスマートホームデバイスは、製造元のクラウドに接続します。これは、あなたのデータがしばしば家から出てしまうことを意味します。さらに悪いことに、企業が事業を停止したり、サービスモデルを変更したりすると、デバイスの機能が失われる可能性があります。この依存関係が私を悩ませていました。私はローカルで、回復力があり、完全に自分の管理下にあるシステムを求めていました。もしHomeLabの旅を始めることに興味があるなら、このガイドが役立つでしょう。

なぜHome AssistantをRaspberry Piや古いハードウェアで動かすのか?

まさにここでHome Assistantが不可欠になります。これは、あなたに再び主導権を取り戻させるオープンソースプラットフォームです。この強力なシステムは、あなたのハードウェア上でローカルに動作し、驚くほど多種多様なデバイスやサービスと統合できます。重要なのは、基本的な機能のために常にインターネット接続を必要としないことです。Raspberry Piや古いコンピューターで実行することを選択すれば、素晴らしい柔軟性と目的が提供されます。

  • Raspberry Pi: 低消費電力(通常3-5W)、小さな設置面積、静音動作に最適です。Raspberry Pi 4(または、入手可能であればそれ以降のモデル)は、ほとんどのスマートホーム設定に十分な電力を提供します。専用の常時稼働サーバーに最適です。
  • 古いPC/ノートPC: 使用していないデスクトップPCやノートPCが埃をかぶっているなら、強力なHome Assistantサーバーとして再利用しましょう!これにより、より大規模なインストール、より複雑な自動化、またはHome Assistantと並行して追加サービス(メディアサーバーやネットワーク広告ブロッカーなど)を実行するための処理能力とRAMが得られます。

私は自分の実運用環境でHome Assistantを6ヶ月間稼働させています。照明や空調制御からセキュリティ監視、メディア統合まで、あらゆるものをオーケストレーションしています。結果は一貫して安定していると自信を持って言えます。これは、あらゆるスマートホームにとって堅牢で信頼性の高い基盤です。

インストール:Home Assistantを起動する

まず、ハードウェアを選択し、Home Assistantをインストールしましょう。ほとんどの初心者には、Home Assistant OSが推奨される方法です。これは、Home Assistantのために特別に調整された完全で最適化されたオペレーティングシステムを提供します。

ハードウェアの選択:Raspberry Pi vs. 古いPC

  • Raspberry Piの場合: Raspberry Pi 4(最低4GB RAM、8GBが望ましい)またはRaspberry Pi 5をお勧めします。また、高品質のmicroSDカード(最低32GB A2定格で十分ですが、信頼性と速度を向上させるためには、USB 3.0経由で接続された小型SSDの方がはるかに良い選択肢です)、適切な電源、およびEthernetケーブルも必要です。
  • 古いPC/ノートPCの場合: 最低4GBのRAMと信頼性の高いハードドライブがあることを確認してください。Home Assistant OSを直接インストールすることも、すでにLinuxディストリビューションを実行している場合は、Dockerを使用することもできます。

インストール方法:Home Assistant OS(初心者向け推奨)

この方法では、Home Assistant用に設計された完全なオペレーティングシステムを選択したストレージに書き込みます。これにより、管理が簡素化され、最適化された環境がすぐに利用可能になります。

  1. Raspberry Pi Imagerをダウンロード: 公式Raspberry Piウェブサイトから入手してください。Windows、macOS、Linuxで利用可能です。
  2. Home Assistant OSイメージをダウンロード:
  3. Raspberry Pi Imagerを開きます。「OSを選択」の下で、「その他の特定の目的のOS」->「ホームアシスタントとホームオートメーション」->「Home Assistant」を選択します。次に、お使いのRaspberry Piモデルに対応するイメージ(例:「Raspberry Pi 5用Home Assistant OS」)を選択します。

  4. イメージを書き込む:
  5. microSDカード(またはUSBアダプター経由のSSD)をコンピューターに挿入します。Raspberry Pi Imagerで、ダウンロードしたHome Assistant OSイメージを選択し、ストレージデバイスを選択します。「書き込み」をクリックします。操作を確定します。このプロセスにより、選択したドライブ上のすべてのデータが消去されます。

    # 例: 'dd'のようなコマンドラインツールを使用した書き込み (上級者のみ)
    # /dev/sdXを実際のデバイスパス(例: /dev/mmcblk0または/dev/sda)に置き換えてください
    # このコマンドには細心の注意を払ってください - 間違ったデバイスパスはデータ損失につながる可能性があります
    # sudo dd if=/path/to/ha-os-image.img of=/dev/sdX bs=4M status=progress
  6. 初期起動:
  7. 書き込みが完了したら、安全にストレージを取り出します。それをRaspberry Piに挿入します。PiとルーターをEthernetケーブルで接続し、電源を接続します。Home Assistantが必要なコンポーネントをダウンロードして初期化するため、最初の起動には5〜10分かかることがあります。

  8. Home Assistantにアクセス:
  9. 数分後、同じネットワークに接続されたコンピューターのウェブブラウザを開き、http://homeassistant.local:8123にアクセスします。もしこれが機能しない場合(一部のルーターは.localアドレスをうまく処理しません)、ルーターの接続デバイスリストからPiのIPアドレスを見つけて、http://<YOUR_PI_IP>:8123を使用する必要があります。

代替案:Dockerインストール(上級者向け)

より詳細な制御を好む場合や、すでにLinuxサーバーを稼働させている場合は、Home Assistant CoreをDocker経由でインストールできます。これにより、Home Assistantは隔離され、実行中の他のサービスと簡単に管理できます。

まず、LinuxシステムにDockerがインストールされていることを確認してください。その後、次のようなコマンドでHome Assistantを実行できます。

docker run -d \
  --name homeassistant \
  --privileged \
  --restart=unless-stopped \
  -e TZ=Europe/London \ # 実際のタイムゾーンに置き換えてください(例: America/New_York)
  -v /path/to/your/homeassistant/config:/config \
  --network=host \
  ghcr.io/home-assistant/home-assistant:stable

/path/to/your/homeassistant/configを、Home Assistantが設定を保存するホストマシン上のディレクトリに、Europe/Londonをあなたのローカルタイムゾーン識別子に置き換えることを忘れないでください。

設定:スマートホームに命を吹き込む

Home Assistantにアクセスできるようになったら、いよいよ本番です。デバイスを統合し、自動化を設定しましょう。

初回起動とオンボーディング

初めてウェブインターフェースにアクセスすると、Home Assistantが簡単なオンボーディングプロセスを案内します。初期ユーザーアカウントを作成し、自宅の場所を設定し(日の出/日の入りなどの位置情報に基づく自動化にとって重要です)、自動的に検出されたデバイスを確認します。

統合を追加:デバイスを接続する

Home Assistantは「統合(Integrations)」を通じてデバイスと通信します。そして、その数は何千にも及びます!追加するには:

  1. 設定 -> デバイスとサービス -> 統合タブに移動します。
  2. 右下の+ 統合を追加ボタンをクリックします。
  3. お使いのデバイスまたはサービス(例:「Philips Hue」、Zigbeeの場合は「ZHA」、Z-Waveの場合は「Z-Wave JS」)を検索します。
  4. 画面の指示に従って接続します。これには、IPアドレスの入力、APIキー、またはハブでのペアリングプロセスの開始が必要となる場合があります。

ZigbeeやZ-Waveのようなローカルデバイスの場合、Raspberry Piまたはホストマシンに互換性のあるUSBドングルを接続し、Home Assistantでそれぞれの統合(ZHAまたはZ-Wave JS)をインストールする必要があります。

自動化とシーンの作成

自動化はスマートホームの心臓部であり、手動での介入なしにデバイスがイベントに反応できるようにします。一方、シーンは、単一のコマンドで複数のデバイスを特定の状態に設定します。

  • 自動化: 設定 -> 自動化とシーン -> 自動化に移動します。これらは視覚的に構築することも、YAMLで直接編集することもできます。自動化には常にトリガー(開始するもの)、条件(オプション、いつ実行されるべきか)、そしてアクションがあります。
  • シーン: 同じメニューでシーンに移動します。シーンを作成し、デバイスを希望の状態に設定し(例:「映画の夜」シーン:照明を暗くし、ブラインドを閉める)、保存します。

以下は、動きが検出された場合にライトをオンにするシンプルなYAML自動化ですが、日没後にのみ実行されます。

# 例:日没後に動きが検出されたらライトを点灯する
- alias: 'Motion Light After Sunset'
  trigger:
    platform: state
    entity_id: binary_sensor.motion_sensor_living_room
    to: 'on'
  condition:
    condition: sun
    after: sunset
  action:
    service: light.turn_on
    entity_id: light.living_room_lamp
    data:
      brightness_pct: 75

カスタムダッシュボード:あなたのコントロールセンター

Home AssistantのユーザーインターフェースであるLovelaceは、高度にカスタマイズ可能です。さまざまなレイアウトやカードを使用して複数のダッシュボードを作成し、デバイスを視覚化および制御できます。これにより、真にパーソナライズされた直感的なスマートホーム体験が可能になります。

検証と監視:信頼性とパフォーマンスの確保

安定したスマートホームシステムを維持するには、時折のチェックと全体的な健全性の把握が必要です。結局のところ、信頼性が究極の目標です。

基本的な健全性チェック

Home Assistantのログを定期的に確認し、エラーや警告がないかをチェックしてください。これらは設定 -> システム -> ログで見つけることができます。何かが期待どおりに動作しない場合、最初に確認すべき場所であることがよくあります。「システムヘルス」ダッシュボードも、システムのリソースと統合のステータスの概要を素早く提供します。

安全な更新の維持

Home Assistantは頻繁に更新をリリースし、エキサイティングな新機能や重要なバグ修正をもたらします。更新する前に、常にバックアップがあることを確認してください!Home Assistant OSには、組み込みのバックアップ機能があります(設定 -> システム -> バックアップ)。私は通常、これらの完全なバックアップを安全のために外部ストレージの場所にダウンロードしています。

更新するには、設定 -> システム -> 更新に移動し、プロンプトに従うだけです。これは簡単なプロセスですが、覚えておいてください。バックアップは常にあなたのセーフティネットです。

パフォーマンス監視

特にRaspberry Piで実行している場合、システムリソースを注意深く監視することをお勧めします。Home Assistant自体もいくつかのメトリクスを提供しますが、より詳細な調査のためにSSH経由でホストマシンにログインすることもできます。

# CPU、メモリ使用率を確認
htop

# ディスク使用量を確認
df -h

# 実行中のプロセスを確認
ps aux | grep homeassistant

これらのコマンドを監視することで、スマートホームの応答性に影響を与える前にボトルネックや問題を特定するのに役立ちます。より洗練された設定の場合、Home AssistantのメトリクスをGrafanaやInfluxDBと統合することを検討するかもしれませんが、それは全く別の記事のテーマです。

バックアップ戦略:あなたのセーフティネット

組み込みのバックアップに加えて、デバイス外へのバックアップを定期的に行う習慣を導入してください。プライマリストレージ(SDカード/SSD)が故障した場合でも、最近のバックアップがあれば、新しいハードウェアにスマートホームの構成全体を素早く復元できます。この入念さが、過去に多くの頭痛の種から私を救ってきました。

Share: