Chain Buzzer ESPHomeコンポーネント

Chain Buzzerは、M5Stack Chainシリーズのブザー出力ノードです。内蔵ブザーとプログラマブルRGB LEDを搭載しており、音による通知、状態のお知らせ、スマートホームのアラームなどの用途に適しています。

注意
Chainシリーズのノードを使用するには、UART通信と制御に対応したホストが必要です。例えば、Chain DualKey ホスト、または Atomic ToChain Base と組み合わせたAtomシリーズデバイスなどです。

1. コンポーネント概要

項目 情報
拡張モジュール Chain Buzzer (U224)
主な機能 ブザーのオン/オフ
通信インターフェース Chain Bus / UART
ESPHomeコンポーネント m5_chain_base、m5_chain_buzzer(外部コンポーネント)
ESPHomeバージョン要件 2026.9.0 以降

2. コンポーネントの説明

外部コンポーネントの導入

設定例

  • ホストのUARTピンを設定(Chain DualKeyを例に)
uart:
  - id: chain_uart_right
    tx_pin: GPIO6
    rx_pin: GPIO5
    baud_rate: 115200

  - id: chain_uart_left
    tx_pin: GPIO47
    rx_pin: GPIO48
    baud_rate: 115200
  • 外部コンポーネントを導入
external_components:
  - source: github://m5stack/esphome@feat-m5-chain
    components: [m5_chain_base, m5_chain_buzzer]
    refresh: 0s
  • Chain Buzzerを追加
m5_chain_buzzer:
  id: chain_buzzer
  uart_id: chain_uart_right
  chain_index: 1

Chainの実際の位置に応じて、正しいindex(インデックス)を指定します。

  • Chain Buzzerの出力を追加
output:
  - platform: m5_chain_buzzer
    id: chain_buzzer_output
    m5_chain_buzzer_id: chain_buzzer
  - platform: m5_chain_buzzer
    id: chain_buzzer_red
    m5_chain_buzzer_id: chain_buzzer
    channel: rgb_red
  - platform: m5_chain_buzzer
    id: chain_buzzer_green
    m5_chain_buzzer_id: chain_buzzer
    channel: rgb_green
  - platform: m5_chain_buzzer
    id: chain_buzzer_blue
    m5_chain_buzzer_id: chain_buzzer
    channel: rgb_blue
  • 着信音転送言語(RTTTL)コンポーネントを追加
rtttl:
  output: chain_buzzer_output
  id: chain_buzzer_rtttl
  • Chain BuzzerのRGBライトを追加
light:
  - platform: rgb
    name: Chain Buzzer RGB
    red: chain_buzzer_red
    green: chain_buzzer_green
    blue: chain_buzzer_blue

上記のエンティティを追加しただけでは、Home Assistantからブザーを直接操作することはできません。対応するプリセットスクリプトとテンプレートボタンを追加する必要があります。

script:
  - id: chain_buzzer_beep_twice
    then:
      - m5_chain_buzzer.play:
          id: chain_buzzer
          frequency: 2730
          duty: 50
          time: 100ms
      - delay: 150ms
      - m5_chain_buzzer.play:
          id: chain_buzzer
          frequency: 2730
          duty: 50
          time: 100ms

button:
  # Beep once
  - platform: template
    name: "Buzzer Beep"
    icon: "mdi:bullhorn"
    on_press:
      - m5_chain_buzzer.play:
          id: chain_buzzer
          frequency: 2730
          duty: 50
          time: 120ms
  # Beep twice
  - platform: template
    name: "Buzzer Beep Twice"
    icon: "mdi:bullhorn-outline"
    on_press:
      - script.execute: chain_buzzer_beep_twice
  # Long beep
  - platform: template
    name: "Buzzer Beep Long"
    icon: "mdi:volume-high"
    on_press:
      - m5_chain_buzzer.play:
          id: chain_buzzer
          frequency: 2730
          duty: 50
          time: 1s

  # Silence a running melody or a long auto-play beep.
  - platform: template
    name: "Buzzer Stop"
    icon: "mdi:stop"
    on_press:
      - rtttl.stop:
          id: chain_buzzer_rtttl
      - m5_chain_buzzer.play:
          id: chain_buzzer
          frequency: 1000
          duty: 0
          time: 1ms

RTTTL形式で再生する場合は、rtttl.playアクションを使用します。例えば:

button:
  - platform: template
    name: "Ring Tone"
    icon: "mdi:cellphone-sound"
    on_press:
      - rtttl.stop:
          id: chain_buzzer_rtttl
      - rtttl.play:
          id: chain_buzzer_rtttl
          rtttl: "RingTone:d=4,o=5,b=225:8e6,8d6,4f#,4g#,8c#6,8b,4d,4e,8b,8a,4c#,4e,2a"

テンプレートボタンを作成し、プリセットの着信音と組み合わせることで、Home Assistantのフロントエンドからブザーを操作できます。

3. 使用例

Chain Buzzer拡張モジュールを接続すると、デバイスページで対応するButton、Lightエンティティを確認できます。

ダッシュボードカードの例

Page Tools
PDF
On This Page