mirror of
https://github.com/esphome/esphome.git
synced 2026-02-18 15:35:59 -07:00
Merge branch 'voice-assistant-timer-vector' into integration
This commit is contained in:
@@ -371,7 +371,12 @@ async def to_code(config):
|
|||||||
if on_timer_tick := config.get(CONF_ON_TIMER_TICK):
|
if on_timer_tick := config.get(CONF_ON_TIMER_TICK):
|
||||||
await automation.build_automation(
|
await automation.build_automation(
|
||||||
var.get_timer_tick_trigger(),
|
var.get_timer_tick_trigger(),
|
||||||
[(cg.std_vector.template(Timer), "timers")],
|
[
|
||||||
|
(
|
||||||
|
cg.std_vector.template(Timer).operator("const").operator("ref"),
|
||||||
|
"timers",
|
||||||
|
)
|
||||||
|
],
|
||||||
on_timer_tick,
|
on_timer_tick,
|
||||||
)
|
)
|
||||||
has_timers = True
|
has_timers = True
|
||||||
|
|||||||
@@ -225,7 +225,7 @@ class VoiceAssistant : public Component {
|
|||||||
Trigger<Timer> *get_timer_updated_trigger() { return &this->timer_updated_trigger_; }
|
Trigger<Timer> *get_timer_updated_trigger() { return &this->timer_updated_trigger_; }
|
||||||
Trigger<Timer> *get_timer_cancelled_trigger() { return &this->timer_cancelled_trigger_; }
|
Trigger<Timer> *get_timer_cancelled_trigger() { return &this->timer_cancelled_trigger_; }
|
||||||
Trigger<Timer> *get_timer_finished_trigger() { return &this->timer_finished_trigger_; }
|
Trigger<Timer> *get_timer_finished_trigger() { return &this->timer_finished_trigger_; }
|
||||||
Trigger<std::vector<Timer>> *get_timer_tick_trigger() { return &this->timer_tick_trigger_; }
|
Trigger<const std::vector<Timer> &> *get_timer_tick_trigger() { return &this->timer_tick_trigger_; }
|
||||||
void set_has_timers(bool has_timers) { this->has_timers_ = has_timers; }
|
void set_has_timers(bool has_timers) { this->has_timers_ = has_timers; }
|
||||||
const std::vector<Timer> &get_timers() const { return this->timers_; }
|
const std::vector<Timer> &get_timers() const { return this->timers_; }
|
||||||
|
|
||||||
@@ -272,7 +272,7 @@ class VoiceAssistant : public Component {
|
|||||||
Trigger<Timer> timer_finished_trigger_;
|
Trigger<Timer> timer_finished_trigger_;
|
||||||
Trigger<Timer> timer_updated_trigger_;
|
Trigger<Timer> timer_updated_trigger_;
|
||||||
Trigger<Timer> timer_cancelled_trigger_;
|
Trigger<Timer> timer_cancelled_trigger_;
|
||||||
Trigger<std::vector<Timer>> timer_tick_trigger_;
|
Trigger<const std::vector<Timer> &> timer_tick_trigger_;
|
||||||
bool has_timers_{false};
|
bool has_timers_{false};
|
||||||
bool timer_tick_running_{false};
|
bool timer_tick_running_{false};
|
||||||
|
|
||||||
|
|||||||
@@ -68,3 +68,24 @@ voice_assistant:
|
|||||||
- logger.log:
|
- logger.log:
|
||||||
format: "Voice assistant error - code %s, message: %s"
|
format: "Voice assistant error - code %s, message: %s"
|
||||||
args: [code.c_str(), message.c_str()]
|
args: [code.c_str(), message.c_str()]
|
||||||
|
on_timer_started:
|
||||||
|
- logger.log:
|
||||||
|
format: "Timer started: %s"
|
||||||
|
args: [timer.id.c_str()]
|
||||||
|
on_timer_updated:
|
||||||
|
- logger.log:
|
||||||
|
format: "Timer updated: %s"
|
||||||
|
args: [timer.id.c_str()]
|
||||||
|
on_timer_cancelled:
|
||||||
|
- logger.log:
|
||||||
|
format: "Timer cancelled: %s"
|
||||||
|
args: [timer.id.c_str()]
|
||||||
|
on_timer_finished:
|
||||||
|
- logger.log:
|
||||||
|
format: "Timer finished: %s"
|
||||||
|
args: [timer.id.c_str()]
|
||||||
|
on_timer_tick:
|
||||||
|
- lambda: |-
|
||||||
|
for (auto &timer : timers) {
|
||||||
|
ESP_LOGD("timer", "Timer %s: %" PRIu32 "s left", timer.name.c_str(), timer.seconds_left);
|
||||||
|
}
|
||||||
|
|||||||
@@ -58,3 +58,24 @@ voice_assistant:
|
|||||||
- logger.log:
|
- logger.log:
|
||||||
format: "Voice assistant error - code %s, message: %s"
|
format: "Voice assistant error - code %s, message: %s"
|
||||||
args: [code.c_str(), message.c_str()]
|
args: [code.c_str(), message.c_str()]
|
||||||
|
on_timer_started:
|
||||||
|
- logger.log:
|
||||||
|
format: "Timer started: %s"
|
||||||
|
args: [timer.id.c_str()]
|
||||||
|
on_timer_updated:
|
||||||
|
- logger.log:
|
||||||
|
format: "Timer updated: %s"
|
||||||
|
args: [timer.id.c_str()]
|
||||||
|
on_timer_cancelled:
|
||||||
|
- logger.log:
|
||||||
|
format: "Timer cancelled: %s"
|
||||||
|
args: [timer.id.c_str()]
|
||||||
|
on_timer_finished:
|
||||||
|
- logger.log:
|
||||||
|
format: "Timer finished: %s"
|
||||||
|
args: [timer.id.c_str()]
|
||||||
|
on_timer_tick:
|
||||||
|
- lambda: |-
|
||||||
|
for (auto &timer : timers) {
|
||||||
|
ESP_LOGD("timer", "Timer %s: %" PRIu32 "s left", timer.name.c_str(), timer.seconds_left);
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user