Unit Step16 Home Assistant 連携ガイド

このガイドでは、Unit Step16 16 ビットロータリーエンコーダーコントロールユニットを Home Assistant に統合し、ノブによる数値制御や照明制御を実現する方法について説明します。

1. 準備

環境準備

  1. Home Assistant 公式ドキュメントを参照して、Home Assistant をインストールします。
  2. ESPHome 公式ドキュメントを参照して、ESPHome Device Builder アドオンをインストールします。(注意:このチュートリアルは ESPHome 2026.1.2 に基づいています。コンパイルエラーが発生した場合は、まずこのバージョンに切り替えて確認することを推奨します。)

ハードウェア製品

2. ファームウェアのコンパイル & 書き込み

このセクションでは、yaml 設定ファイルを使用してプロジェクトを再コンパイルし、二次開発、機能の変更、または新機能の追加を行う方法を説明します。

コンパイル時間
HA を使用したファームウェアのコンパイルは多くのリソースを消費します。初回コンパイルではリソースのダウンロードに時間がかかる場合があり、所要時間は HA サービスを実行するデバイスとネットワーク品質によって異なります。

デバイスの作成

  1. 新しいデバイスを作成します。右下の緑色のボタンをクリックしてデバイスを作成します。
  1. デバイス名を作成します。
  • CONTINUE をクリックします。
  • New Device Setup をクリックします。
  • デバイス名を入力し、NEXT をクリックします。
  1. デバイスタイプを選択します。
  • ESP32 をクリックします。
  • SKIP をクリックします。

設定の変更

  1. EDIT をクリックし、YAML ファイルを使用してデバイスの機能をカスタマイズします。

以下はコードの主要な部分です。関連する参考情報と説明を以下に示します。

外部コンポーネント設定

External コンポーネントを追加します:

external_components:
  - source: github://m5stack/esphome-yaml/components
    components: unit_step16
    refresh: 0s

unit_step16:
  id: my_step16
  i2c_id: bsp_iic
  address: 0x48

I2C 設定

i2c:
  - id: bsp_iic
    scl: GPIO32
    sda: GPIO26
    scan: True

センサー設定

Sensor コンポーネントを追加します:

sensor:
  - platform: unit_step16
    unit_step16_id: my_step16
    name: "Encoder Value"
    update_interval: 100ms
    on_value:
      then:
        - logger.log:
            format: "Encoder value changed to: %.0f"
            args: ["x"]

出力設定

Output コンポーネントを追加します:

output:
  - platform: unit_step16
    id: led_brightness_output
    unit_step16_id: my_step16
    channel: led_brightness

  - platform: unit_step16
    id: rgb_brightness_output
    unit_step16_id: my_step16
    channel: rgb_brightness

  - platform: unit_step16
    id: rgb_red_output
    unit_step16_id: my_step16
    channel: rgb_red

  - platform: unit_step16
    id: rgb_green_output
    unit_step16_id: my_step16
    channel: rgb_green

  - platform: unit_step16
    id: rgb_blue_output
    unit_step16_id: my_step16
    channel: rgb_blue

ライト設定

Light コンポーネントを追加します:

light:
  - platform: rgb
    id: step16_rgb_light
    name: "Step16 RGB Light"
    red: rgb_red_output
    green: rgb_green_output
    blue: rgb_blue_output
    restore_mode: ALWAYS_ON
    default_transition_length: 0s

  - platform: monochromatic
    id: step16_led_display
    name: "Step16 LED Display"
    output: led_brightness_output
    restore_mode: ALWAYS_ON
    default_transition_length: 0s

数値設定

Number コンポーネントを追加します:

number:
  - platform: template
    name: "RGB Brightness"
    min_value: 0
    max_value: 100
    step: 1
    optimistic: true
    initial_value: 50
    on_value:
      then:
        - output.set_level:
            id: rgb_brightness_output
            level: !lambda "return x / 100.0;"

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

  1. 変更が完了したら、右上の SAVEINSTALL をクリックし、ポップアップウィンドウで Manual Download を選択します。
  1. ファームウェアのコンパイルが完了したら、ダウンロードをクリックして Factory format (Previously Modern) を選択します。
設定例
Unit Step16 をクリックして、完全なサンプル設定を確認できます。

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

  1. USB Type-C ケーブルを使用し、Atom-Lite をホスト機器へ接続します。ESPHome Web を開き、CONNECT をクリックしてデバイスに接続します。
  1. 対応するシリアルポート番号を確認します。
  1. INSTALL をクリックします。
  1. 先ほどコンパイルしたファームウェアを選択し、INSTALL をクリックしてアップロードします。
  1. 書き込みが完了したら、デバイスを再起動します。

3. 使い方

  1. Settings > Devices & Services をクリックしてデバイスを確認します。
  1. Discovered セクションで対応するデバイスを見つけることができます。
  1. デバイスを追加すると、データが正しく表示されます。
  1. 最後に、これらのエンティティをダッシュボードに追加します。以下はその表示例です。

4. 動画

Page Tools
PDF
On This Page