harrygg 发表于 2022-12-13 18:11:01

请教ESPHome输出PWM的问题

本帖最后由 harrygg 于 2022-12-13 18:14 编辑

请教一下各位,不知道我哪里写的有问题:
我用的板 nodemcuv2 想输出pwm,
开始我是这样写的:

output:
- platform: esp8266_pwm
    pin: 14
    frequency: 10 Hz
    id: pwm_output

switch:
- platform: output
    name: "PWM Output"
    output: pwm_output
    restore_mode: RESTORE_DEFAULT_ON
后来我又改成这样:
output:
- platform: slow_pwm
    pin: 14
    id: pwm_output
    period: 2s


switch:
- platform: output
    name: "PWM Output"
    output: pwm_output
    restore_mode: RESTORE_DEFAULT_ON
无论我怎么改频率或者管脚,就是没有输出PWM,开关打开就是高电平,关闭就是低电平。
请问这是为什么?我哪里搞错了?
谢谢!





mrlaogui 发表于 2022-12-13 20:39:10

尝试更改传感器类型为灯或者风扇:
output:
- platform: esp8266_pwm
    pin: GPIO13
    id: gpio_13
    inverted: true

light:
- platform: monochromatic
    output: gpio_13
    name: "test yelight"


lhy741059930 发表于 2022-12-13 20:47:06

可以让ChatGPT帮你看看

harrygg 发表于 2022-12-14 09:17:04

mrlaogui 发表于 2022-12-13 20:39
尝试更改传感器类型为灯或者风扇:
output:
- platform: esp8266_pwm


忘记说了,灯我也试过,还是开关只有高低电平变化,并没有pwm波形出来

harrygg 发表于 2022-12-14 11:36:26

我突然发现了,pwm波形是有的,只是在我打开控制开关的瞬间发出了波形,完了就变成一直高电平了
这是什么道理,为什么不是一直输出波形

chinahuanqiu 发表于 2022-12-14 12:34:01

你好,请参考手册output.set_level(此操作在执行时将浮点输出设置为给定级别。注意:仅此 适用于 ESP8266 PWM、LEDC 或 等浮点输出。)示例:
on_...:
then:
    - output.set_level:
      id: light_1
      level: 50%
你之前只是指定了频率,请试试添加这个动作API。

harrygg 发表于 2022-12-14 15:50:30

chinahuanqiu 发表于 2022-12-14 12:34
你好,请参考手册output.set_level(此操作在执行时将浮点输出设置为给定级别。注意:仅此 适用于 ESP8266...

感谢指点,确实动作要激活才会持续发
我在Switch下面添加就好使了,打开按钮开关就持续输出波形了:
switch:
- platform: output
    name: "Generic Output"
    output: pwm_output   
    on_turn_on:
      then:
      - output.set_level:
            level: 30%
            id: pwm_output
      - output.esp8266_pwm.set_frequency:
            id: pwm_output
            frequency: 200 Hz

harrygg 发表于 2022-12-14 15:53:10

chinahuanqiu 发表于 2022-12-14 12:34
你好,请参考手册output.set_level(此操作在执行时将浮点输出设置为给定级别。注意:仅此 适用于 ESP8266...

另外还有一个问题请教,我在官方手册里经常看到
on_...:
...到底是省略的意思呢还是真的有这个指令,我复制到yaml里面编译出错
正确的用法应该是怎样的?

chinahuanqiu 发表于 2022-12-14 17:44:59

本帖最后由 chinahuanqiu 于 2022-12-14 17:47 编辑

on_..., ...是省略的意思,省略部分一般指动作的具体内容,比如这里的turn_on, 其实这个整体可以理解为对一个特定动作的监听方法, 还有就是不同实体支持的动作也可能不同,希望能帮到您~

1457964 发表于 2022-12-14 17:48:07

harrygg 发表于 2022-12-14 15:53
另外还有一个问题请教,我在官方手册里经常看到
on_...:
...到底是省略的意思呢还是真的有这个指令,我复 ...

动作,跟示例走
页: [1] 2
查看完整版本: 请教ESPHome输出PWM的问题