週末はいつも晴れ

社会人5年目の日記です。プログラミングとか旅行とかラーメン。

HomeAssistant[0] インストール

自宅をスマートホーム化してみたかった。
その足掛かりとして。
いろいろ調べたことをまとめました。

使うもの

  • Raspberry Pi 3 model B+ Raspberry Pi 4 Model B(メモリ2GB)推奨
  • micro SDカード(32GB) ←32GB以上推奨
  • ACアダプタ(5V/3A) ←2.5A以上推奨
  • パソコン(私の場合はMac OS

Home Assistantとは

Home Assistantとは、スマートホーム実現のためのハブアプリケーションです。
以下のデモをご覧いただければと思います。
スマート家具やセンサー、スマートスピーカー等を、ブラウザやスマホアプリから一元管理できます。
demo.home-assistant.io

予備知識

最初に知っておくべきなのが、Home AssistantHass.ioの区別です。
Home Assistant vs. Hass.io - Home Assistant

さらに、Hass.ioが載っているRaspberry Pi用のOSとしてHassOSHassbianがあります。
HomeAssistant for newcomers: What it is, what is hassio, hassos, hassbian, 101 and cookies - Home Assistant Community

Home Assistantとは

Home Assistantの実態は単なるPythonライブラリであり、ソフトウェアです。
Python環境さえあれば、どんなプラットホームでも簡単に使うことができます。
私はRaspbian OSやMac OS上で試しました。

$ pip install homeassistant
$ hass  # => http://localhost:8123にアクセス

Hass.ioとは

Hass.ioの実態はDockerバージョンのHome Assistantです。
Home Assistantを含む様々なツール群をまとめ、Raspberry Pi等のプラットホームで簡単に使えるようにしたものになります。
重要なのが、Hass.ioのアドオンはHome Assistant単体では使えないということです。
私は自作のアドオンを作成したかったので、Hass.ioをインストールしました。

Hassbianとは

HassbianはRaspbery Pi用のOS RaspbianにHome Assistantを載せたものです。少し時代遅れだそうです。

HassOSとは

HassOSはDockerやHass.ioが動くのに必要最小限な環境が含まれるLinux OSです。

Hass.ioのインストール

かなりたくさんのインストール方法があります。
www.home-assistant.io

私のRaspberry PiにはRaspbian OSがインストールされています。
現状、Raspberry Pi上にインストールする方法は2つありそうです。

  1. Raspbian上のdockerを使ってHass.ioをインストールする
  2. Raspbianを消去してHass OSをインストールする


1つめは日本語の情報が結構見つかります(参考1参考2)。
2つめの方法は上記リンク中の最も推奨される方法です。

せっかくなので正攻法の2つめの方法を試すことにします。
(Hass OSが最小構成というところに惹かれました)

1. Raspberry Piモデルに合わせたOSイメージをダウンロードする

私の場合はRaspberry Pi 3 Model B+ 64bitでした。
上記リンクからダウンロードしました。

2. OSイメージをmicro SDに書き込む

まずはmicro SDカードをFAT32形式でフォーマット(消去)しました。
私のパソコンはMac OSなので、「ディスクユーティリティ」を使用しています。
その後、上記リンクの通りにbalenaEtcherという書き込みアプリケーションでmicro SDに書き込みました。

3. Wifi固定IPアドレスの設定をする

有線かつDHCPで自動的に割り当てでいい場合はスキップ可能です。
Wifi接続や固定IPアドレスとしたい場合は下記リンクを参考に前準備しておきます。
hassos/network.md at dev · home-assistant/hassos · GitHub

私の場合はWifi固定IPアドレスとしたいので、下記の設定となります。

[connection]
id=my-network
type=802-11-wireless

[802-11-wireless]
mode=infrastructure
ssid=MY_WIFI_SSID

[802-11-wireless-security]
auth-alg=open
key-mgmt=wpa-psk
psk=MY_WIFI_PASSWORD

[ipv4]
method=manual
address=MY_IPADDRESS;MY_GATEWAY_ADDRESS
dns=8.8.8.8;8.8.4.4;

[ipv6]
addr-gen-mode=stable-privacy
method=auto

上記をmicro SDカード内の/hassio-boot/CONFIG/network/my-networkに書き込みます。
または、別途準備した空のUSBメモリに書き込むことでもネットワーク設定が可能です(試していません)。

OSインストール後もnmcli固定IPアドレスは設定できるようです。

4. micro SDカードをRaspberry Piに差し込む

そのままです。

5. Raspberry Piを起動する

初回起動時は最新版Home Assistantのダウンロードに時間がかかります。
起動後は同一ローカルネットワーク上(Wifiにつないだスマートフォン等)で以下のアドレスからアクセスできるようになります。
http://hassio.local:8123
ダウンロード中にアクセスすると、以下の画面が表示されました。
f:id:ikarino99:20191203202359p:plain

6. Hass.ioにアクセスする

下記のような画面が表示されれば成功です。おめでとうございます!
ここでユーザ登録や位置情報の登録等の初期設定を行います。
後から変更できますので、ミスっても大丈夫です。
f:id:ikarino99:20191203202436p:plain

最後に

とりあえずインストールがおわりました。
次回以降にセットアップ方法やFeaturedアドオンについてみていきます。