ESPHome 2026.6.0-dev
Loading...
Searching...
No Matches
automation.h
Go to the documentation of this file.
1#pragma once
2
5#include "audio_dac.h"
6
7namespace esphome::audio_dac {
8
9template<typename... Ts> class MuteOffAction : public Action<Ts...> {
10 public:
11 explicit MuteOffAction(AudioDac *audio_dac) : audio_dac_(audio_dac) {}
12
13 void play(const Ts &...x) override { this->audio_dac_->set_mute_off(); }
14
15 protected:
17};
18
19template<typename... Ts> class MuteOnAction : public Action<Ts...> {
20 public:
21 explicit MuteOnAction(AudioDac *audio_dac) : audio_dac_(audio_dac) {}
22
23 void play(const Ts &...x) override { this->audio_dac_->set_mute_on(); }
24
25 protected:
27};
28
29template<typename... Ts> class SetVolumeAction : public Action<Ts...> {
30 public:
31 explicit SetVolumeAction(AudioDac *audio_dac) : audio_dac_(audio_dac) {}
32
33 TEMPLATABLE_VALUE(float, volume)
34
35 void play(const Ts &...x) override { this->audio_dac_->set_volume(this->volume_.value(x...)); }
36
37 protected:
39};
40
41} // namespace esphome::audio_dac
virtual void play(const Ts &...x)=0
virtual bool set_mute_off()=0
virtual bool set_volume(float volume)=0
virtual bool set_mute_on()=0
void play(const Ts &...x) override
Definition automation.h:13
MuteOffAction(AudioDac *audio_dac)
Definition automation.h:11
MuteOnAction(AudioDac *audio_dac)
Definition automation.h:21
void play(const Ts &...x) override
Definition automation.h:23
TEMPLATABLE_VALUE(float, volume) void play(const Ts &...x) override
Definition automation.h:33
SetVolumeAction(AudioDac *audio_dac)
Definition automation.h:31
uint16_t x
Definition tt21100.cpp:5