M5Stack Unit 8 Angle
组件/集线器
Section titled “组件/集线器”m5stack_8angle 平台允许您在 ESPHome 中使用 m5angle 输入设备。
它具有 8 个旋钮、一个开关,并且可以单独驱动 9 个 RGB LED。
m5stack_8angle 组件通过 I²C 总线进行通信,默认地址为 0x43。
# 示例配置条目m5stack_8angle: id: m5stack_8angle_base- id (可选, ID): 手动指定用于代码生成的 ID。
- i2c_id (可选, ID): 如果需要,手动指定 I²C 组件 的 ID。
- address (可选, int): 手动指定设备的 I²C 地址。默认为
0x43。
旋钮位置传感器
Section titled “旋钮位置传感器”8 个旋钮的位置可以作为传感器使用,值范围为 0-1(0 表示最左侧位置)。
sensor: - platform: m5stack_8angle m5stack_8angle_id: m5stack_8angle_base channel: 1 name: "旋钮 1" bit_depth: 12 bit - platform: m5stack_8angle m5stack_8angle_id: m5stack_8angle_base channel: 2 name: "旋钮 2"- update_interval (可选, 时间): 检查传感器的时间间隔。默认为
10s。 - bit_depth (可选,
12 bit或8 bit之一): 决定模拟读数的精度,默认为8bit。 - raw (可选, 布尔值): 如果为 true,传感器返回旋钮的原始读数值。
- 所有其他选项来自 传感器。
输入开关二值传感器
Section titled “输入开关二值传感器”一个指示设备上开关状态的二值传感器。
binary_sensor: - platform: m5stack_8angle m5stack_8angle_id: m5stack_8angle_base name: "开关"9 个 LED 可用作可寻址灯光输出。
light: - platform: m5stack_8angle m5stack_8angle_id: m5stack_8angle_base id: m8_angle_leds name: "灯光" effects: - addressable_rainbow:- 所有选项来自 灯光。
在 Lambda 中读取旋钮位置和开关状态
Section titled “在 Lambda 中读取旋钮位置和开关状态”您可以通过 float value = id(...)->read_knob_pos(index); 触发读取单个旋钮的位置,通过 int value = id(...)->read_switch(); 读取开关状态。
返回负值表示读取状态失败。
# 示例配置条目:让 LED 指示旋钮位置light: - platform: m5stack_8angle m5stack_8angle_id: m5stack_8angle_base id: m8_angle_leds name: "灯光" effects: - addressable_lambda: name: "指示数值" update_interval: 200ms lambda: |- ESPHSVColor hsv; hsv.value = 255; hsv.saturation = 240; auto parent = id(m5stack_8angle_base); for (int i=0; i < 8; i++) { auto kpos = parent->read_knob_pos(i); if (kpos >= 0){ hsv.hue = kpos * 200; it[i] = hsv; } } if (parent->read_switch() > 0) hsv.hue = 200; else hsv.hue = 0; it[8] = hsv;