Unit EXT.IO2 / Stamp IO — Home Assistant 統合

本章では、Unit EXT.IO2 / Stamp IO を Home Assistant に連携するための設定方法について説明します。

準備

環境準備

  1. Home Assistant 公式ドキュメントを参照して、Home Assistant をインストールします。
  2. ESPHome 公式ドキュメントを参照して、ESPHome Device Builder アドオンをインストールします。

ハードウェア

  • Unit EXT.IO2 または Stamp IO
  • ホストコントローラー(Atom シリーズ、Stamp シリーズ、Stick シリーズ、または Core / Basic シリーズ)
  • Home Assistant ホスト

説明
両デバイスは同じ通信プロトコルを使用しており、I2C で接続する外部ホストコントローラーが必要です。

機能の追加

I²C バス

拡張機能を使用するには、I2C コンポーネントが必要です。

# Example configuration entry for ESP32
i2c:
  sda: GPIOXX
  scl: GPIOXX
  scan: true

たとえば Atom Lite をホストコントローラーとして使用する場合:

# I2C Bus on Grove Port (HY2.0-4P)
i2c:
  sda: GPIO26
  scl: GPIO32

Hub コンポーネント

各プラットフォームを使用する前に、extio2 外部コンポーネントを追加し、Hub を宣言してください。

external_components:
  - source: github://m5stack/esphome-yaml/components@main
    components: [extio2]
    refresh: 0s

extio2:
  id: extio2_hub

設定項目

  • id (省略可, ID): この Hub インスタンスに ID を割り当てます。
  • address (省略可, int): I²C デバイスアドレス。デフォルト 0x45
  • reset (省略可, boolean): 起動時にソフトウェアリセットを実行します。全ピンが出力モードに設定され、ローレベルを出力します。デフォルト true
  • pwm_freq (省略可, 列挙型): 全チャンネル共通のグローバル PWM 周波数。デフォルト 1kHz。選択肢:
    • 2kHz
    • 1kHz
    • 500Hz
    • 250Hz
    • 125Hz
  • I²C Device でサポートされているその他のオプションも使用できます。

GPIO ピン

EXT.IO2 のピンは、switchbinary_sensor など ESPHome が標準 GPIO ピン参照を受け付けるあらゆる場所で使用できます。

# Digital output — switch
switch:
  - platform: gpio
    name: "EXT.IO2 GPIO 0"
    pin:
      extio2_id: extio2_hub
      number: 0
      mode:
        output: true

# Digital input — binary sensor
binary_sensor:
  - platform: gpio
    name: "EXT.IO2 GPIO 1"
    pin:
      extio2_id: extio2_hub
      number: 1

ピン設定項目

  • extio2_id (必須, ID): EXT.IO2 Hub の ID。
  • number (必須, int): ピン番号。07
  • inverted (省略可, boolean): ピンのロジックを反転します。デフォルト false
GPIO モード
デバイスファームウェアは入力モードと出力モードのみをサポートします。pulluppulldownopen_drain などのオプションは使用できません。

センサー(ADC)

センサープラットフォームは、ADC 対応の 8 ピンからアナログ値を読み取ります。

sensor:
  - platform: extio2
    extio2_id: extio2_hub
    name: "ADC センサー 0"
    channel: ADC_0
    resolution: 12BIT
    update_interval: 5s

設定項目

  • extio2_id (省略可, ID): EXT.IO2 Hub の ID。
  • channel (必須, 列挙型): 読み取る ADC チャンネル。ADC_0ADC_7
  • resolution (省略可, 列挙型): ADC 分解能。デフォルト 8BIT
    • 8BIT: 8 ビット分解能、範囲 0〜255。
    • 12BIT: 12 ビット分解能、範囲 0〜4095。
  • update_interval (省略可, 時間): ポーリング間隔。デフォルト 60s
  • センサー でサポートされているその他のオプションも使用できます。

出力(PWM)

出力プラットフォームは任意のピンを PWM 出力として駆動します。デューティサイクルは 0.01.0 の浮動小数点数で指定し、内部で 0〜100% にマッピングされます。

output:
  - platform: extio2
    extio2_id: extio2_hub
    id: pwm_ch0
    channel: PWM_0

light:
  - platform: monochromatic
    name: "PWM ライト 0"
    output: pwm_ch0
    effects:
      - pulse:

設定項目

  • extio2_id (省略可, ID): EXT.IO2 Hub の ID。
  • id (必須, ID): この出力の ID。
  • channel (必須, 列挙型): 使用する PWM チャンネル。PWM_0PWM_7
  • 浮動小数点出力 でサポートされているその他のオプションも使用できます。
PWM 周波数
PWM 周波数は Hub の pwm_freq でグローバルに設定されます。全 PWM チャンネルが同一の周波数を共有します。

数値(サーボ)

数値プラットフォームはサーボを制御します。角度(度)とパルス幅(マイクロ秒)の 2 つの制御モードを提供します。

角度モード

角度(0〜180°)でサーボ位置を制御します。

number:
  - platform: extio2
    extio2_id: extio2_hub
    name: "サーボ 0"
    type: angle
    channel: SERVO_0
    min_value: 0
    max_value: 180
    step: 3

パルスモード

生のパルス幅(マイクロ秒)でサーボ位置を制御します。

number:
  - platform: extio2
    extio2_id: extio2_hub
    name: "サーボ 1"
    type: pulse
    channel: SERVO_1
    min_value: 500
    max_value: 2500
    step: 100

設定項目

  • extio2_id (省略可, ID): EXT.IO2 Hub の ID。
  • type (必須, 列挙型): サーボ制御モード。
    • angle: 角度で制御。
    • pulse: パルス幅で制御。
  • channel (必須, 列挙型): 使用するサーボチャンネル。SERVO_0SERVO_7
  • min_value (省略可, float): 最小値。角度モードのデフォルト 0.0、パルスモードのデフォルト 500.0
  • max_value (省略可, float): 最大値。角度モードのデフォルト 180.0、パルスモードのデフォルト 2500.0
  • step (省略可, float): ステップ幅。角度モードのデフォルト 3.0、パルスモードのデフォルト 100.0
  • 数値 でサポートされているその他のオプションも使用できます。
モード 単位 最小値 最大値 ステップ
angle ° 0 180 3
pulse µs 500 2500 100

ライト

ライトプラットフォームは 2 つのモードをサポートします。指定ピン上の単一 RGB LED、またはピン 0 から始まる連続した可変長 LED ストリップです。

単一 RGB LED

指定ピン上の 1 つの RGB LED を制御します。

light:
  - platform: extio2
    extio2_id: extio2_hub
    name: "EXT.IO2 ライト 2"
    type: light
    channel: LIGHT_2

アドレッサブル LED ストリップ

ピン 0 から始まる連続した複数の RGB LED を制御します。ESPHome のすべてのアドレッサブルライトエフェクトに対応しています。

light:
  - platform: extio2
    extio2_id: extio2_hub
    name: "LED ストリップ"
    type: addressable_light
    num_leds: 8

設定項目

  • extio2_id (省略可, ID): EXT.IO2 Hub の ID。
  • type (必須, 列挙型): ライトモード。
    • light: 単一 RGB LED。
    • addressable_light: アドレッサブル LED ストリップ。
  • channel (light タイプで必須, 列挙型): 使用するピン。LIGHT_0LIGHT_7
  • num_leds (addressable_light タイプで必須, int): LED 数。18。ピン 0 から順に割り当てられます。
  • ライト でサポートされているその他のオプションも使用できます。
LED ストリップのピン
アドレッサブルストリップのピンはピン 0 から連続して割り当てる必要があります。たとえば num_leds: 3 はピン 0・1・2 を使用します。ハードウェアには輝度制御レジスタがありません。輝度は RGB 値のソフトウェアスケーリングで実現されます。

完全な設定例

i2c:
  sda: GPIO2
  scl: GPIO1

extio2:
  id: extio2_hub
  address: 0x45
  reset: true
  pwm_freq: 1kHz

# GPIO — digital output
switch:
  - platform: gpio
    name: "EXT.IO2 GPIO 0"
    pin:
      extio2_id: extio2_hub
      number: 0
      mode:
        output: true

# GPIO — digital input
binary_sensor:
  - platform: gpio
    name: "EXT.IO2 GPIO 1"
    pin:
      extio2_id: extio2_hub
      number: 1
      mode:
        input: true
        pullup: true

# ADC sensor
sensor:
  - platform: extio2
    extio2_id: extio2_hub
    name: "ADC センサー 2"
    channel: ADC_2
    resolution: 12BIT
    update_interval: 5s

# PWM output used as monochromatic light
output:
  - platform: extio2
    extio2_id: extio2_hub
    id: pwm_ch3
    channel: PWM_3

light:
  - platform: monochromatic
    name: "PWM ライト 3"
    output: pwm_ch3
    effects:
      - pulse:

  # Single RGB LED
  - platform: extio2
    extio2_id: extio2_hub
    name: "RGB ライト 6"
    type: light
    channel: LIGHT_6

  # Addressable LED strip (all 8 pins)
  - platform: extio2
    extio2_id: extio2_hub
    name: "LED ストリップ"
    type: addressable_light
    num_leds: 8

number:
  # Servo — angle control
  - platform: extio2
    extio2_id: extio2_hub
    name: "サーボ 4"
    type: angle
    channel: SERVO_4

  # Servo — pulse width control
  - platform: extio2
    extio2_id: extio2_hub
    name: "サーボ 5"
    type: pulse
    channel: SERVO_5
Page Tools
PDF
On This Page