Home Assistant

Project Detail

Home Assistant

Home Assistant を中心に、スマートロック、赤外線家電、各種センサーを統合し、ローカル中心で運用できる自宅向けスマートホーム基盤を構築した。

Home AssistantHome Assistant OSRaspberry Pi 4ESPHomeESP32Sesame 5TailscaleNASHACS

課題・目的

家庭内の機器や情報がそれぞれ別のアプリや画面に分かれていると、日常の確認や操作が煩雑になる。また、鍵、家電、環境情報、生活情報が個別に存在していると、家全体を一つの視点で管理しづらいという課題があった。

加えて、写真の枚数が増えるにつれてクラウドストレージの課金負担が大きくなるため、写真管理を NAS を含むローカル環境へ移し、自宅内で完結できる仕組みを整える必要があった。

そこで、Home Assistant を中心にホームプラットフォームを構築し、家の状態確認、機器操作、通知、情報閲覧、生活管理を一つの基盤に集約した。

目的は次の通りである。

  • スマホ 1 台で家の状態確認と操作ができるようにする
  • 鍵、家電、センサー、通知を一元管理する
  • 毎日見る情報や生活管理機能も同じダッシュボード上にまとめる
  • 写真や各種データを NAS を含むローカル基盤に集約できるようにする
  • 今後も機能追加しやすい拡張性のある基盤を作る

特徴

このホームプラットフォームでは、機器制御だけでなく、日常的に使う情報や行動支援もまとめて扱えるようにしている。

  • Sesame 5 と Home Assistant の接続
    スマートロックを Home Assistant に統合し、鍵の状態確認や操作をまとめて行えるようにした。

  • スマホから使える赤外線リモコン操作
    赤外線制御を使い、スマホからテレビなどの家電を操作できるようにした。

  • 環境データの取得と不快指数の算出
    CO2、大気圧、室温、湿度を取得し、不快指数を算出して室内環境をわかりやすく可視化している。

  • 通知機能による忘れ防止
    通知機能を組み込み、確認漏れややり忘れを防ぎ、日々のチェックを意識しやすくした。

  • 生活情報をまとめたダッシュボード
    budget、news、tasks、shopping をダッシュボード上で管理し、日常的に使う情報へすぐアクセスできるようにした。

  • 在庫管理と買い物リスト作成
    家の中の在庫を管理し、不足しているものを shopping に反映することで、買い物リストをまとめて確認できるようにした。

  • ローカル写真 DB の運用
    Immich を用いてローカルな写真データベースを構築し、写真をクラウド依存ではなく自宅基盤側で管理できるようにした。

  • データの視覚的な管理
    home-dashboard の /storage から保存データやデータベースの中身を視覚的に確認し、操作できるようにした。

  • VPN による安全なリモート接続
    Tailscale を利用し、自宅外からも安全にホームプラットフォームへアクセスできる構成にしている。

  • 使用機器の状態表示
    家の中で使っている機器の状態を表示し、どの機器がどういう状態にあるかをまとめて確認できるようにした。

構成

全体は home-platform で管理しており、ハードウェアとソフトウェアを役割ごとに分けて運用している。

ハードウェア

  • home-ha
    Raspberry Pi 4 4GB 上で Home Assistant OS を動かし、Home Assistant の本体として利用している。
    デバイス連携、状態表示、センサー管理、通知の中心となる基盤。

  • home-server
    Raspberry Pi 4 8GB 上で Ubuntu を動かし、取得用サーバーおよび Web サーバーとして利用している。
    home-dashboard の配信、データ保存、DB、NAS 連携など、ホームプラットフォームを支える周辺基盤を担当している。

  • NAS
    写真、各種データ、将来的に増えるファイル類の保存先として構築を進めているローカルストレージ基盤。
    クラウド課金に依存しすぎず、家の中でデータを管理するための中核として位置付けている。

  • ESP32
    センサー取得や周辺デバイス制御を担うマイコンとして利用している。
    CO2、大気圧、室温、湿度などの取得や、家の状態を把握するための入力部分を支えている。

ソフトウェア

  • home-platform
    ホームプラットフォーム全体を管理する基盤。

  • Home Assistant
    デバイス連携、状態表示、通知、ダッシュボードの土台となるスマートホーム基盤。

  • home-dashboard
    家の状態確認、家電操作、ニュース閲覧、家計管理、タスク管理、買い物リスト確認などを行うメイン画面。
    /storage では保存データやデータベースの中身を視覚的に確認し、操作できるようにしている。

  • billing-api
    家計や支出管理に関わる機能を支える API。

  • home-internal-api
    ホームプラットフォーム内部で利用する各種機能を支える API。

  • Immich
    ローカルな写真データベースとして運用し、増え続ける写真を NAS を含む自宅基盤側で管理するために利用している。

この構成により、Home Assistant を単体で使うのではなく、専用ハードウェア、独自アプリ、API、保存基盤を組み合わせた生活基盤として運用している。

関連リポジトリ

  • home-dashboard
    家の状態確認、操作、生活情報の表示を担うダッシュボード。

  • home-platform
    ホームプラットフォーム全体を管理する基盤リポジトリ。

  • home-internal-api
    ホームプラットフォーム内部で利用する機能を支える API。

  • home-billing-api
    家計管理や支出管理に関わる機能を支える API。

これによりできたこと

この仕組みにより、家の管理と日常の情報整理をスマホ中心で完結しやすくなった。

  • スマホ 1 台で家の状態確認、鍵の操作、家電操作ができるようになった
  • 環境データと不快指数を見ながら、室内環境を把握しやすくなった
  • 通知機能により、忘れ防止や日々のチェックがしやすくなった
  • news で RSS を通じて、自分が見たい情報を毎日確認できるようになった
  • budget により、生活動線の中で家計簿を管理できるようになった
  • tasks により、やるべきことを適切なタイミングで確認しやすくなった
  • 家電制御、環境監視、情報閲覧、生活管理を一つの基盤にまとめられた

結果として、単なるスマートホームではなく、生活全体を支えるホームプラットフォームとして家を管理できるようになった。