直接上代码
output:
- platform: ledc #esp32
pin: GPIO8
id: buzzer_output
#inverted: True
rtttl:
- output: buzzer_output
id: rtttl01
switch:
- platform: template
name: "sw01"
id: "sw01id"
optimistic: true
on_turn_on:
then:
- script.execute: rtttlplayalarm
on_turn_off:
then:
- script.stop: rtttlplayalarm
#循环播放警告声
script:
- id: rtttlplayalarm
then:
- while:
condition:
switch.is_on: sw01id
then:
- rtttl.play: 'siren:d=16,o=6,b=800:b'
- logger.log: "running script rtttlplayalarm---------------"
- delay: 1s
- wait_until:
condition:
switch.is_off: sw01id
- logger.log: "exit script rtttlplayalarm"
- script.stop: rtttlplayalarm
一句话 esphome笨拙的逻辑控制 yaml恶心的语法排序