跳转到内容

输出组件

output 域的每个平台向 ESPHome 暴露一些输出。这些分为两类:binary 输出(只能开/关)和 float 输出(如 PWM,可以输出 0 到 1 之间的任意有理数值)。

每个输出平台都扩展了此配置架构。

# 示例配置条目
output:
- platform: ...
id: my_output_id
power_supply: power_supply_id
inverted: false
min_power: 0.01
max_power: 0.75

配置变量:

  • id (必填, ID):此输出组件使用的 id。

  • power_supply (可选, ID):连接到此输出的电源。当输出启用时,电源也会自动开启。

  • inverted (可选, 布尔值):输出是否应被视为反相。默认为 false

仅适用于浮点输出:

  • min_power (可选, 浮点数):设置此输出平台的最小输出值。 必须在 0 到 max_power 范围内。默认为 0。如果 zero_means_zero 为 false,这将是实体关闭时的输出值。

  • max_power (可选, 浮点数):设置此输出平台的最大输出值。 必须在 min_power 到 1 范围内。默认为 1

  • zero_means_zero (可选, 布尔值):设置输出使用实际的 0 而不是 min_power。 默认为 false

NOTE

min_powermax_power 值会自动钳制以确保 0.0 ≤ min_power ≤ max_power ≤ 1.0。 这可以防止无效配置并确保稳定的输出行为。

此动作在执行时打开指定 ID 的输出。

on_...:
then:
- output.turn_on: light_1

NOTE

此动作也可以用 lambda 表示:

id(light_1).turn_on();

此动作在执行时关闭指定 ID 的输出。

on_...:
then:
- output.turn_off: light_1

NOTE

此动作也可以用 lambda 表示:

id(light_1).turn_off();

此动作在执行时将浮点输出设置为指定电平。

NOTE

这仅适用于浮点输出,如 Ac DimmerEsp8266 PwmLedcSigma Delta OutputSlow Pwm

on_...:
then:
- output.set_level:
id: light_1
level: 50%

NOTE

此动作也可以用 lambda 表示:

// 范围是 0.0(关)到 1.0(开)
id(light_1).set_level(0.5);

此动作为指定的浮点输出平台设置最小输出功率电平。 它允许您在运行时动态调整 min_power 配置变量。

NOTE

这仅适用于浮点输出,如 Ac DimmerEsp8266 PwmLedcSigma Delta OutputSlow Pwm

on_...:
then:
- output.set_min_power:
id: light_1
min_power: 20%

NOTE

此动作也可以用 lambda 表示:

// 范围是 0.0(关)到 1.0(开)
id(light_1).set_min_power(0.2);

此动作为指定的浮点输出平台设置最大输出功率电平。 它允许您在运行时动态调整 max_power 配置变量。

NOTE

这仅适用于浮点输出,如 Ac DimmerEsp8266 PwmLedcSigma Delta OutputSlow Pwm

on_...:
then:
- output.set_max_power:
id: light_1
max_power: 80%

NOTE

此动作也可以用 lambda 表示:

// 范围是 0.0(关)到 1.0(开)
id(light_1).set_max_power(0.8);