このガイドでは、Atom-Lite と Home Assistant を連携させた照明制御の実装方法について説明します。
Setting -> Add-ons -> Add-ons STORE から ESPHome Builder アドオンをインストールします。Show in sidebar にチェックを入れ、左側のナビゲーションバーに追加します。
NEW DEVICE をクリックして新しいデバイスを作成します。
CONTINUE ボタンをクリックします。
Atom-Lite と入力します。
Use recommended settings のチェックを外してから ESP32 を選択して詳細ページに進みます。
M5Stack-ATOM を見つけ、選択して NEXT ボタンをクリックします。
key をコピーしてから INSTALL をクリックしてインストール手順に進みます。
Manual download を選択してプログラムのコンパイルを開始し、コンパイルとインストールの完了を待ちます。
Atom-Lite というデバイスが追加されています。EDIT ボタンをクリックして YAML ファイルの編集ページに入ります。
yaml ファイルにコピーし、図に示した箇所の ssid と password をご自身の Wi-Fi アカウントとパスワードに変更します。esphome:
name: atom-lite
friendly_name: Atom-Lite
esp32:
board: m5stack-atom
flash_size: 4MB
framework:
type: esp-idf
logger:
api:
encryption:
key: "*********"
ota:
- platform: esphome
password: "*****************"
wifi:
ssid: "*********"
password: "***********"
ap:
ssid: "Atom-Lite Fallback Hotspot"
password: "jFsIc2XGuKRe"
captive_portal:
binary_sensor:
- platform: gpio
pin:
number: GPIO39
mode: INPUT
inverted: true
name: "Atom Button"
id: atom_button
filters:
- delayed_on: 50ms
- delayed_off: 50ms
on_multi_click:
- timing:
- ON for at most 0.8s
- OFF for at most 0.5s
- ON for at most 0.8s
- OFF for at least 0.2s
then:
- logger.log: "Double Clicked"
- light.turn_on:
id: atom_light
red: 100%
blue: 50%
green: 20%
brightness: 50%
- timing:
- ON for at least 0.8s
then:
- logger.log: "Single Long Clicked"
- light.turn_on:
id: atom_light
green: 100%
blue: 50%
red: 30%
brightness: 100%
light:
- platform: esp32_rmt_led_strip
rgb_order: GRB
pin: GPIO27
num_leds: 1
chipset: SK6812
name: "Atom RGB Light"
id: atom_light
restore_mode: RESTORE_DEFAULT_OFF
effects:
- random:
name: "Random"
transition_length: 1s
update_interval: 1sESP-IDF のコンポーネントとして使用されるようになりました。従来 Arduino で使用していた NeoPixelBus Light は ESP-IDF フレームワークをサポートしていないため、新バージョンの ESPHome では ESP32 RMT LED Strip コンポーネントをご使用ください。
SAVE ボタンをクリックして YAML ファイルを保存し、次に INSTALL ボタンをクリックしてファームウェアのコンパイルと書き込みを開始します。
Manual download をクリックしてファームウェアのコンパイルを開始し、完了するまで待ちます。
DOWNLOAD ボタンをクリックすると書き込み方式の選択画面が表示されます。ここでは Factory format を選択してローカルに保存します。
INSTALL を選択して書き込み選択画面に入り、今度は Plug into this computer を選択してデバイスと PC を USB で接続して書き込みます。
Open ESPHome Web を選択して書き込み画面に進みます。
CONNECT ボタンをクリックし、PC に接続されているシリアルデバイスを選択して接続します(シリアルポートが表示されない場合は、ハードウェアの接続に問題がないか確認してください)。
INSTALL をクリックしてローカルのファームウェアファイル選択画面に進みます。
INSTALL をクリックして書き込みが完了するまで待ちます。
書き込み完了:
Setting をクリックして設定画面に入り、Discovered にあるデバイスを確認し、ADD をクリックしてデバイスを追加します。
Settings をクリックして設定画面に入り、Devices & services を選択します。
ESP と入力すると ESPHome が見つかります。開いて Atom-Lite を選択します。
Atom-Lite の設定ページでは Atom RGB Light と Atom Button という 2 つの Entity を確認できます。オートメーションはさまざまな Entity を設定することでロジックを実現します。+ ボタンをクリックして Automations を追加し、その後は画面の指示に従って操作してください。
このようにして、Atom Button と Atom RGB Light の 2 つのエンティティを組み合わせて Automation を作成しました。このオートメーションの動作は、ボタンをシングルクリックするとライトの状態が切り替わるというものです。
Overview メニューをクリックしてコンポーネント制御画面に入り、右上の edit ボタンをクリックして編集画面に進みます。
By card 画面で Light を検索し、Atom RGB Light エンティティコンポーネントを選択します。
コンポーネントの設定は以下のとおりです:
RGB ライトの状態はコンポーネント上に反映されるだけでなく、コンポーネントから直接エンティティを制御することもできます。
