Unit Encoder 组件通过 I2C 总线提供编码器数值、按键状态和 RGB LED 控制功能。
| 项目 | 信息 |
|---|---|
| 产品名称 | Unit Encoder |
| SKU | U135 |
| 主要功能 | 编码器数值、按键状态和 RGB LED 控制 |
| 通信接口 | I2C |
| 默认 I2C 地址 | 0x40 |
| ESPHome 组件 | m5unit_encoder(外部组件) |
| ESPHome 版本要求 | 2026.4.5 及以上 |
在 YAML 文件中添加 External Components 配置,加载 Unit Encoder 组件。
external_components:
- source: github://m5stack/esphome-yaml/components
components: [m5unit_encoder]
refresh: 0s 添加 Sensor 组件,读取编码器的计数值。该组件的 id 可供按键和 LED 输出组件引用。
sensor:
- platform: m5unit_encoder
id: unit_encoder_1
name: "Encoder Value" 默认单位为 steps,默认轮询间隔为 100ms,默认 I2C 地址为 0x40。
主要参数:
| 参数 | 说明 |
|---|---|
id | 组件 ID,供其他 Unit Encoder 组件引用。 |
name | 在 Home Assistant 中显示的实体名称。 |
添加 Binary Sensor 组件,读取编码器按键状态。m5unit_encoder_id 必须引用 Sensor 组件中定义的 ID。
binary_sensor:
- platform: m5unit_encoder
m5unit_encoder_id: unit_encoder_1
name: "Encoder Button" 添加 Output 组件,将 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 主要参数:
| 参数 | 说明 |
|---|---|
m5unit_encoder_id | 关联 Sensor 组件的 ID。 |
led_index | LED 索引,可选 0 或 1。 |
channel | 颜色通道,可选 red、green、blue。 |
id | 输出 ID,供 Light 组件引用。 |
添加 Light 组件,将三个颜色通道组合为 RGB 灯光实体。
light:
- platform: rgb
name: "Encoder LED 0"
red: led0_red
green: led0_green
blue: led0_blue 主要参数:
| 参数 | 说明 |
|---|---|
name | 在 Home Assistant 中显示的灯光实体名称。 |
red | 关联红色通道的 Output ID。 |
green | 关联绿色通道的 Output ID。 |
blue | 关联蓝色通道的 Output ID。 |
external_components:
- source: github://m5stack/esphome-yaml/components
components: [m5unit_encoder]
refresh: 0s
i2c:
sda: GPIOXX
scl: GPIOXX
scan: true
sensor:
- platform: m5unit_encoder
id: unit_encoder_1
name: "Encoder Value"
binary_sensor:
- platform: m5unit_encoder
m5unit_encoder_id: unit_encoder_1
name: "Encoder Button"
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:
- platform: rgb
name: "Encoder LED 0"
red: led0_red
green: led0_green
blue: led0_blue
- platform: rgb
name: "Encoder LED 1"
red: led1_red
green: led1_green
blue: led1_blue