Getting Started with ESPHome and Home Assistant — ESPHome
ここをやったときのメモ
Home AssitantのSupervisorになるものを用意
候補
Installation - Home Assistant
Dockerが動けば大体いけるので、最近のSynologyやQNAPのハイスペックNASでも行ける気がするが
無難にRaspberry piでいく。
公式ではRaspberry pi 3以上を推奨している。
Raspberry Pi - Home Assistant
手元にあったのはRaspberry pi 3B+でRAMが1GBであった。
Raspebian + Home Assistant Container(Docker)でいこうとするとRaspberry pi 4の8GBのほうがよいと思う。
面倒を避けるため最初から全部入りのHome Assistant Operating Systemでいく。
OSのインストール
大体ここに沿って行けばよい
balenaEtcher - Flash OS images to SD cards & USB drives
Raspberry piのバージョンに合わせてOSを選択
8分ぐらいかかる。
起動
LANケーブルをいれてから
電源をいれる。
初回起動はかなり遅いので、10分ぐらいまつ。
そうすると
http://homeassistant.local:8123
でHome Assistantの管理画面が初回起動画面が見れた。
ここで20分程度待つ。
納豆が糸引いてるみたい。
その後画面が勝手に切り替わってアカウント作成しろとなる。
Onboarding Home Assistant - Home Assistant
Add-onでESPHomeを入れる
SupervisorをクリックしてアドオンストアからESPHomeをクリックし、インストールする。
インストールにも20分ぐらいかかった。
アドオンがインストール完了するので開始を押す
開始するのに60秒ぐらいはかかる。
WebUIでようやくターゲットデバイスのコンフィグを行うyamlを書く画面となる。
デバイスの作成(ノードの追加)
LAN上にある管理されるデバイスのことをノードと呼ぶ?
右下の緑の+から。
ノードの名前とそのノードが接続するWifiのSSIDとPasswordをいれる。(あとから編集できる)
今回はESP8266( https://akizukidenshi.com/catalog/g/gK-12236/ )
EDITからデバイスの構成を書ける。
デフォルトで以下のようになっている。
esphome: name: test platform: ESP8266 board: esp01_1m # Enable logging logger: # Enable Home Assistant API api: ota: password: "********************" wifi: ssid: "**************" password: "****************" # Enable fallback hotspot (captive portal) in case wifi connection fails ap: ssid: "Test Fallback Hotspot" password: "***************" captive_portal:
適当なところに以下をついか
switch: - platform: gpio name: "LED" pin: 14
SAVEする。
Firmwareを書く
INSTALLボタンからManual Downloadを選ぶ。
Wirelesslyは、OFFLINEだと使えない。
yamlで指定した構成をもとに、ソースコードが生成されて、ビルドが始まる。
終わるとbinがダウンロードされ始める。
ESP flasherなどでbinを書き込む。
ダッシュボードに置く。
書き込んだESPを起動して、Wifiが接続されて、Home Assistantがそれを発見すると、ONLINEになる。
設定のインテグレーションの中に先ほど作ったノードが”発見”されているので「設定」する。
Statusにデバイスが設定される。
Toggle Buttonをスライドさせると、Pin14につながったLEDが点灯した。
感想
インストールで待つのがいやだったら、Raspberry pi 4を使ったほうがいい。
しかし、そうするとかなり熱くなる。
3B+ではヒートシンクでもなんとかなるかもしれないが、
4ならアルミケースなど全体で冷やさないともたなさそう。
さらに長時間使うとSDカードがダメになるという報告も見たので、(書き込み上限などで)
そういう場合はSSDなどからブートできたらと思う。(USB3.0じゃないと起動が遅いと思われる)
これらを満たす以下のケースを見つけた。
しかし値段的には
Raspberry pi 4 8GB + 上のアルミケース(M.2可能)とCeleronのIntel NUCが対応するかもしれない。(どちらもストレージは別)
以前つかったTasmotaによってコンフィグされたデバイスもおそらくこのHomeassistantで管理できるのだと思う。
しかしTasmotaはデバイス側の自由度が低く、自分で作ったESPデバイスにあった構成をコンフィグできるとは限らないと思った。
その点、こちらのESPHomeはプログラミングまでではないが、yamlによって構成を自由に記述できるので、自分でESPが乗ったデバイスを作ったりする場合はこちらのほうが良いと思った。
デバイスからのイベントをつなげてある自動化をおこなうTutorialもあったが、これはまた別記事に書こうと思う。
Automating Home Assistant - Home Assistant