pdf-icon

Unit Step16 Home Assistant 統合

概要

Unit Step16 は、STM32G031G8U6 マイクロコントローラをベースとした 16 位置ロータリーエンコーダー制御ユニットです。ロータリーエンコーダーの BCD 値をリアルタイムで収集し、オンボードの 7 セグメントディスプレイを介して 0-F の 16 進数値を可視化します。 デバイスは I2C 通信を行い、回転増分方向、表示動作モード、RGB LED カラー、I2C アドレスを設定できるため、複数のエンコーダーユニットを同じバス上で使用できます。 簡潔で効率的な設計により、Unit Step16 は信頼性の高い物理的なインタラクションと即座のビジュアルフィードバックを提供し、スマートインタラクティブデバイス(例:スマートホームコントロールパネル)、制御インターフェース(例:ボリュームノブ、RGB 照明制御、モーター速度調整)、STEAM 教育ハードウェアのプロトタイピングと教育に最適です。

準備

ヒント
このチュートリアルでは、ファームウェアは ESPHome 2026.1.2 でコンパイルおよびアップロードされます。コンパイル/アップロードの問題が発生した場合は、ESPHome をこのバージョンに切り替えることを検討してください。

ステップ 1. 新しいデバイスを作成

  • 右下の緑色のボタンをクリックしてデバイスを作成します。

ステップ 2. デバイス名を作成

  • CONTINUE をクリックします。

  • New Device Setup をクリックします。

  • デバイス名を入力し、NEXT をクリックします。

ステップ 3. デバイスタイプを選択

  • ESP32 をクリックします。

  • SKIP をクリックします。

ステップ 4. YAML ファイルの編集を開始

  • EDIT をクリックします。YAML ファイルを通じてデバイス機能をカスタマイズできます。

デバイス設定

以下はコードのコア部分です。関連する参照と説明は以下に記載されています。

外部コンポーネント設定

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;'

ファームウェアビルド

  • INSTALL を再度クリックしてフラッシュし、完了するまで待ちます。

  • 変更を加えた後、右上の SAVEINSTALL をクリックし、ポップアップで Manual Download を選択します。

  • ファームウェアのコンパイルが完了したら、ダウンロードをクリックして Factory format (Previously Modern) を選択します

ヒント
Unit Step16 をクリックして完全な設定例を表示します。最初のビルドには時間がかかる場合があります。これは、Home Assistant ホストのパフォーマンスとネットワーク品質によって異なります。

ファームウェアアップロード

  • USB Type-C ケーブルを介してデバイスをホストに接続します。ESPHome Web を開き、CONNECT をクリックしてデバイスに接続します。

  • 対応するシリアルポート番号を探します

  • INSTALL をクリックします

  • 以前にコンパイルしたファームウェアを選択してアップロードします。

ヒント
ダウンロードが完了したら、デバイスをリセットする必要があることに注意してください。

Home Assistant 統合

  • Settings -> Device & services をクリックしてデバイスを確認します。

  • Discover セクションで対応するデバイスを見つけることができます。

  • デバイスを追加すると、データが正しく表示されます。

  • 最後に、これらのエンティティをダッシュボードに追加すると、以下の表示結果が表示されます。

On This Page