pdf-icon

Unit Encoder Home Assistant 連携ガイド

本チュートリアルでは、Unit Encoder ロータリーエンコーダーを Atom Lite コントローラーと組み合わせて Home Assistant に連携させ、ノブの値の読み取り、ボタン検出、および RGB LED 制御を実現する方法を説明します。

必要なもの

  1. ハードウェアリスト。
  • 1 x Unit Encoder
  • 1 x Atom Lite
  • 1 x HY2.0-4P Grove ケーブル (20cm)。
  • 1 x Home Assistant ホスト。
  1. ソフトウェアとバージョン。

デバイスの作成

  1. ESPHome Dashboard を開きます。初回セットアップ画面が表示された場合は CONTINUE をクリックします。
  1. 右下の緑色の + ボタンをクリックして、新しいデバイスの作成を開始します。
  1. New Device Setup をクリックして、デバイス作成ウィザードを開始します。
  1. デバイス名を入力し、NEXT をクリックします。
  1. デバイスタイプを選択します。まず Use recommended settings のチェックを外し、ESP32 を選択します。詳細パネルで Unit Encoder を見つけて選択し、NEXT をクリックします。
  1. SKIP をクリックして、暗号化キーの設定をスキップします。
  1. EDIT をクリックして YAML 設定ページを開き、デバイスをカスタマイズします。

デバイス設定

外部コンポーネントの設定

Unit Encoder ドライバーを読み込むために、YAML ファイルに External Components の設定を追加します。

external_components:
  - source: github://m5stack/esphome-yaml/components
    components: [m5unit_encoder]
    refresh: 0s

I2C バスの設定

I2C コンポーネントを追加し、Unit Encoder と Atom Lite 間の通信ピンを設定します。

i2c:
  sda: GPIO26
  scl: GPIO32
  scan: true
説明
Atom Lite の Grove ポートは SDA: GPIO26、SCL: GPIO32 に対応しています。Unit Encoder のデフォルト I2C アドレスは 0x40 です。別のポートを使用する場合は、実際のピンに合わせて調整してください。

センサー設定

Sensor コンポーネントを追加して、エンコーダーの回転値を読み取ります。

sensor:
  - platform: m5unit_encoder
    id: unit_encoder_1
    name: "Encoder Value"

バイナリセンサー(ボタン)設定

Binary Sensor コンポーネントを追加して、エンコーダーボタンの押下状態を検出します。

binary_sensor:
  - platform: m5unit_encoder
    m5unit_encoder_id: unit_encoder_1
    name: "Encoder Button"

出力設定

Output コンポーネントを追加して、2 つの SK6812 RGB LED の各カラーチャンネルを独立した出力としてマッピングし、Light コンポーネントから利用できるようにします。

output:
  - platform: m5unit_encoder
    m5unit_encoder_id: unit_encoder_1
    led_index: 0
    channel: red
    id: led0_red
  - platform: m5unit_encoder
    m5unit_encoder_id: unit_encoder_1
    led_index: 0
    channel: green
    id: led0_green
  - platform: m5unit_encoder
    m5unit_encoder_id: unit_encoder_1
    led_index: 0
    channel: blue
    id: led0_blue
  - platform: m5unit_encoder
    m5unit_encoder_id: unit_encoder_1
    led_index: 1
    channel: red
    id: led1_red
  - platform: m5unit_encoder
    m5unit_encoder_id: unit_encoder_1
    led_index: 1
    channel: green
    id: led1_green
  - platform: m5unit_encoder
    m5unit_encoder_id: unit_encoder_1
    led_index: 1
    channel: blue
    id: led1_blue

ライト設定

Light コンポーネントを追加して、Unit Encoder に内蔵された 2 つの SK6812 プログラマブル RGB LED を制御します。

light:
  - platform: rgb
    name: "LED 0"
    red: led0_red
    green: led0_green
    blue: led0_blue
  - platform: rgb
    name: "LED 1"
    red: led1_red
    green: led1_green
    blue: led1_blue

主なパラメーターの説明:

パラメーター 説明
m5unit_encoder_id 対応する m5unit_encoder センサーインスタンス ID に紐づける
led_index LED インデックス。0 または 1 で、2 つの SK6812 LED に対応
channel カラーチャンネル:redgreenblue のいずれか

ファームウェアのダウンロードと書き込み

ファームウェアのコンパイル

  1. YAML の編集が完了したら、右上の SAVE をクリックして設定を保存し、INSTALL をクリックします。
  1. ポップアップウィンドウで Manual Download を選択します。
  1. ファームウェアのコンパイルが完了するまで待ち、Download をクリックして Factory format (Previously Modern) を選択し、ファームウェアをローカルに保存します。
ヒント
Unit Encoder をクリックして、完全なサンプル設定を確認できます。初回ビルドは、Home Assistant ホストの性能とネットワーク品質によって時間がかかる場合があります。

ファームウェアの書き込み

  1. USB Type-C ケーブルで Atom Lite をコンピューターに接続します。ESPHome Web を開き、CONNECT をクリックします。
  1. シリアルポート選択ポップアップで、対応するポートを見つけて選択します。
  1. INSTALL をクリックします。
  1. ステップ 3 でダウンロードしたファームウェアファイルを選択してアップロードします。
注意
書き込み完了後は必ずデバイスをリセットしてください。リセットしないとファームウェアが正常に起動しない場合があります。

使ってみる

  1. Home Assistant で Settings > Devices & Services を選択して、インテグレーション管理ページを開きます。
  1. Discovered セクションでオンラインになった Unit Encoder デバイスを見つけ、CONFIGURE をクリックしてプロンプトに従って設定を完了します。
  1. 追加が完了すると、デバイスページにエンコーダー値、ボタン状態、RGB LED 制御エンティティが表示されます。
  1. センサーエンティティをダッシュボードに追加すれば、エンコーダー値とボタン状態をリアルタイムで確認し、LED カラーを制御できます。
On This Page