『瀚思彼岸』» 智能家居技术论坛

标题: 请教ESPHome输出PWM的问题 [打印本页]

作者: harrygg    时间: 2022-12-13 18:11
标题: 请教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
后来我又改成这样:
  1. output:
  2.   - platform: slow_pwm
  3.     pin: 14
  4.     id: pwm_output
  5.     period: 2s


  6. switch:
  7.   - platform: output
  8.     name: "PWM Output"
  9.     output: pwm_output
  10.     restore_mode: RESTORE_DEFAULT_ON
复制代码

无论我怎么改频率或者管脚,就是没有输出PWM,开关打开就是高电平,关闭就是低电平。

请问这是为什么?我哪里搞错了?
谢谢!






作者: mrlaogui    时间: 2022-12-13 20:39
尝试更改传感器类型为灯或者风扇:
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
可以让ChatGPT帮你看看
作者: harrygg    时间: 2022-12-14 09:17
mrlaogui 发表于 2022-12-13 20:39
尝试更改传感器类型为灯或者风扇:
output:
  - platform: esp8266_pwm

忘记说了,灯我也试过,还是开关只有高低电平变化,并没有pwm波形出来
作者: harrygg    时间: 2022-12-14 11:36
我突然发现了,pwm波形是有的,只是在我打开控制开关的瞬间发出了波形,完了就变成一直高电平了
这是什么道理,为什么不是一直输出波形
作者: chinahuanqiu    时间: 2022-12-14 12:34
你好,请参考手册output.set_level(此操作在执行时将浮点输出设置为给定级别。注意:仅此 适用于 ESP8266 PWM、LEDC 或 等浮点输出。)示例:
on_...:
  then:
    - output.set_level:
        id: light_1
        level: 50%
你之前只是指定了频率,请试试添加这个动作API。
作者: harrygg    时间: 2022-12-14 15:50
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
chinahuanqiu 发表于 2022-12-14 12:34
你好,请参考手册output.set_level(此操作在执行时将浮点输出设置为给定级别。注意:仅此 适用于 ESP8266  ...

另外还有一个问题请教,我在官方手册里经常看到
on_...:
...到底是省略的意思呢还是真的有这个指令,我复制到yaml里面编译出错
正确的用法应该是怎样的?
作者: chinahuanqiu    时间: 2022-12-14 17:44
本帖最后由 chinahuanqiu 于 2022-12-14 17:47 编辑

on_..., ...是省略的意思,省略部分一般指动作的具体内容,比如这里的turn_on, 其实这个整体可以理解为对一个特定动作的监听方法, 还有就是不同实体支持的动作也可能不同,希望能帮到您~
作者: 1457964    时间: 2022-12-14 17:48
harrygg 发表于 2022-12-14 15:53
另外还有一个问题请教,我在官方手册里经常看到
on_...:
...到底是省略的意思呢还是真的有这个指令,我复 ...

动作,跟示例走
作者: harrygg    时间: 2022-12-15 14:18
chinahuanqiu 发表于 2022-12-14 17:44
on_..., ...是省略的意思,省略部分一般指动作的具体内容,比如这里的turn_on, 其实这个整体可以理解为对 ...

非常感谢。
作者: harrygg    时间: 2022-12-15 14:30
1457964 发表于 2022-12-14 17:48
动作,跟示例走

感谢
有没有各种动作的指令示例啊?
作者: 1457964    时间: 2022-12-15 17:37
harrygg 发表于 2022-12-15 14:30
感谢
有没有各种动作的指令示例啊?

你在esphome官网上看他们的示例,所有on后面的 都是根据实际动作触发的,所以这个... 就咱们自己填写
作者: harrygg    时间: 2022-12-22 10:17
1457964 发表于 2022-12-15 17:37
你在esphome官网上看他们的示例,所有on后面的 都是根据实际动作触发的,所以这个... 就咱们自己填写 ...

谢谢,我找到了一些触发器和动作的示例
https://esphome.io/guides/automations.html#
作者: DayDayHappy    时间: 2024-4-17 09:45
因为你用的控件是switch,得用二楼说的

light:
  - platform: monochromatic





欢迎光临 『瀚思彼岸』» 智能家居技术论坛 (https://bbs.hassbian.com/) Powered by Discuz! X3.5