Sigma-Delta 输出
此组件使用 sigma-delta 调制 在二进制输出上输出浮点值。与 Slow Pwm 不同, 可以在每个更新周期更新输出值,而不仅仅是在较长周期的末尾。

例如,如果你选择每隔 1 秒最多切换一次输出,并决定 PWM 周期为 10 秒,对于相当频繁的更新,使用 Slow Pwm 只有 10 个可能的级别,而更高的精度需要更长的更新间隔, 从而限制了更新速率。
sigma-delta 输出在每个周期中更新,因此可以实现更高的精度,而 不受计算时间框架(=周期)的限制。
因此,你不再需要定义 period(脉冲宽度决定输出级别),而是
选择 update_interval,它充当时钟信号,脉冲密度决定输出级别。
此组件可以作为 Slow Pwm 的即插即用替代品,只需将 platform 更改为
sigma_delta_output,并将 period 更改为 update_interval(通常你需要将 sigma-delta 的
update_interval 设置为 Slow PWM period 的分数以得到相似结果)
# Example configuration entryoutput: - platform: sigma_delta_output update_interval: 10s id: sd_heater_output
# Output to a pin pin: GPIOXX
# Use the same output, but through automations turn_on_action: then: - output.turn_on: heater_relay turn_off_action: then: - output.turn_off: heater_relay
- platform: gpio pin: GPIOXX id: heater_relay配置变量:
- update_interval (可选, 时间): 输出重新计算的周期间隔。默认为
60s。 - pin (可选, Pin Schema): 要脉冲的引脚。
- state_change_action (可选, 自动化): 负载切换时执行的自动化。如果使用 lambda,则布尔型
state参数保存新状态。 - turn_on_action (可选, 自动化): 负载开启时执行的自动化。可用于控制开关或输出组件等。
- turn_off_action (可选, 自动化): 负载关闭时执行的自动化。
turn_on_action和turn_off_action必须一起配置。 - 所有选项请参见 输出。
NOTE
- 如果定义了
pin,GPIO 引脚状态会在任何操作执行之前写入。 state_change_action和turn_on_action/turn_off_action可以一起使用。state_change_action在turn_on_action/turn_off_action之前调用。建议使用state_change_action或turn_on_action/turn_off_action来更改输出状态。仅建议在监控场景下同时使用这两个自动化。
NOTE
如果输出在关闭之前不能连续活动超过某个固定时间,需要
冷却一段时间,则应使用 Slow Pwm
配合 max_power 设置来更好地控制占空
比。