|
ESPHome 2026.2.1
|
#include <voice_assistant.h>
Public Member Functions | |
| VoiceAssistant () | |
| void | loop () override |
| void | setup () override |
| float | get_setup_priority () const override |
| void | start_streaming () |
| void | start_streaming (struct sockaddr_storage *addr, uint16_t port) |
| void | failed_to_start () |
| void | set_microphone_source (microphone::MicrophoneSource *mic_source) |
| void | set_micro_wake_word (micro_wake_word::MicroWakeWord *mww) |
| void | set_speaker (speaker::Speaker *speaker) |
| void | set_media_player (media_player::MediaPlayer *media_player) |
| uint32_t | get_legacy_version () const |
| uint32_t | get_feature_flags () const |
| void | request_start (bool continuous, bool silence_detection) |
| void | request_stop () |
| void | on_event (const api::VoiceAssistantEventResponse &msg) |
| void | on_audio (const api::VoiceAssistantAudio &msg) |
| void | on_timer_event (const api::VoiceAssistantTimerEventResponse &msg) |
| void | on_announce (const api::VoiceAssistantAnnounceRequest &msg) |
| void | on_set_configuration (const std::vector< std::string > &active_wake_words) |
| const Configuration & | get_configuration () |
| bool | is_running () const |
| void | set_continuous (bool continuous) |
| bool | is_continuous () const |
| void | set_use_wake_word (bool use_wake_word) |
| void | set_noise_suppression_level (uint8_t noise_suppression_level) |
| void | set_auto_gain (uint8_t auto_gain) |
| void | set_volume_multiplier (float volume_multiplier) |
| void | set_conversation_timeout (uint32_t conversation_timeout) |
| void | reset_conversation_id () |
| Trigger * | get_intent_end_trigger () |
| Trigger * | get_intent_start_trigger () |
| Trigger< std::string > * | get_intent_progress_trigger () |
| Trigger * | get_listening_trigger () |
| Trigger * | get_end_trigger () |
| Trigger * | get_start_trigger () |
| Trigger * | get_stt_vad_end_trigger () |
| Trigger * | get_stt_vad_start_trigger () |
| Trigger * | get_tts_stream_start_trigger () |
| Trigger * | get_tts_stream_end_trigger () |
| Trigger * | get_wake_word_detected_trigger () |
| Trigger< std::string > * | get_stt_end_trigger () |
| Trigger< std::string > * | get_tts_end_trigger () |
| Trigger< std::string > * | get_tts_start_trigger () |
| Trigger< std::string, std::string > * | get_error_trigger () |
| Trigger * | get_idle_trigger () |
| Trigger * | get_client_connected_trigger () |
| Trigger * | get_client_disconnected_trigger () |
| void | client_subscription (api::APIConnection *client, bool subscribe) |
| api::APIConnection * | get_api_connection () const |
| void | set_wake_word (const std::string &wake_word) |
| Trigger< Timer > * | get_timer_started_trigger () |
| Trigger< Timer > * | get_timer_updated_trigger () |
| Trigger< Timer > * | get_timer_cancelled_trigger () |
| Trigger< Timer > * | get_timer_finished_trigger () |
| Trigger< const std::vector< Timer > & > * | get_timer_tick_trigger () |
| void | set_has_timers (bool has_timers) |
| const std::vector< Timer > & | get_timers () const |
Public Member Functions inherited from esphome::Component | |
| virtual void | dump_config () |
| float | get_actual_setup_priority () const |
| void | set_setup_priority (float priority) |
| virtual float | get_loop_priority () const |
| priority of loop(). | |
| void | call () |
| virtual void | on_shutdown () |
| virtual void | on_safe_shutdown () |
| virtual bool | teardown () |
| Called during teardown to allow component to gracefully finish operations. | |
| virtual void | on_powerdown () |
| Called after teardown is complete to power down hardware. | |
| uint8_t | get_component_state () const |
| void | reset_to_construction_state () |
| Reset this component back to the construction state to allow setup to run again. | |
| bool | is_in_loop_state () const |
| Check if this component has completed setup and is in the loop state. | |
| bool | is_idle () const |
| Check if this component is idle. | |
| virtual void | mark_failed () |
| Mark this component as failed. | |
| ESPDEPRECATED ("Use mark_failed(LOG_STR(\"static string literal\")) instead. Do NOT use .c_str() from temporary " "strings. Will stop working in 2026.6.0", "2025.12.0") void mark_failed(const char *message) | |
| void | mark_failed (const LogString *message) |
| void | disable_loop () |
| Disable this component's loop. | |
| void | enable_loop () |
| Enable this component's loop. | |
| void | enable_loop_soon_any_context () |
| Thread and ISR-safe version of enable_loop() that can be called from any context. | |
| bool | is_failed () const |
| bool | is_ready () const |
| virtual bool | can_proceed () |
| bool | status_has_warning () const |
| bool | status_has_error () const |
| void | status_set_warning (const char *message=nullptr) |
| void | status_set_warning (const LogString *message) |
| void | status_set_error () |
| ESPDEPRECATED ("Use status_set_error(LOG_STR(\"static string literal\")) instead. Do NOT use .c_str() from temporary " "strings. Will stop working in 2026.6.0", "2025.12.0") void status_set_error(const char *message) | |
| void | status_set_error (const LogString *message) |
| void | status_clear_warning () |
| void | status_clear_error () |
| void | status_momentary_warning (const char *name, uint32_t length=5000) |
| Set warning status flag and automatically clear it after a timeout. | |
| void | status_momentary_error (const char *name, uint32_t length=5000) |
| Set error status flag and automatically clear it after a timeout. | |
| bool | has_overridden_loop () const |
| void | set_component_source (const LogString *source) |
| Set where this component was loaded from for some debug messages. | |
| const LogString * | get_component_log_str () const |
| Get the integration where this component was declared as a LogString for logging. | |
| bool | should_warn_of_blocking (uint32_t blocking_time) |
Protected Member Functions | |
| bool | allocate_buffers_ () |
| void | clear_buffers_ () |
| void | deallocate_buffers_ () |
| void | set_state_ (State state) |
| void | set_state_ (State state, State desired_state) |
| void | signal_stop_ () |
| void | start_playback_timeout_ () |
| void | timer_tick_ () |
| void | write_speaker_ () |
| bool | start_udp_socket_ () |
Protected Member Functions inherited from esphome::Component | |
| virtual void | call_loop () |
| virtual void | call_setup () |
| virtual void | call_dump_config () |
| void | set_component_state_ (uint8_t state) |
| Helper to set component state (clears state bits and sets new state) | |
| void | set_interval (uint32_t id, uint32_t interval, std::function< void()> &&f) |
| Set an interval function with a numeric ID (zero heap allocation). | |
| void | set_interval (InternalSchedulerID id, uint32_t interval, std::function< void()> &&f) |
| void | set_interval (uint32_t interval, std::function< void()> &&f) |
| bool | cancel_interval (uint32_t id) |
| bool | cancel_interval (InternalSchedulerID id) |
| ESPDEPRECATED("set_retry is deprecated and will be removed in 2026.8.0. Use set_timeout or set_interval instead.", "2026.2.0") void set_retry(const std | ESPDEPRECATED ("set_retry is deprecated and will be removed in 2026.8.0. Use set_timeout or set_interval instead.", "2026.2.0") void set_retry(const char *name |
| ESPDEPRECATED ("set_retry is deprecated and will be removed in 2026.8.0. Use set_timeout or set_interval instead.", "2026.2.0") void set_retry(uint32_t id | |
| ESPDEPRECATED ("set_retry is deprecated and will be removed in 2026.8.0. Use set_timeout or set_interval instead.", "2026.2.0") void set_retry(uint32_t initial_wait_time | |
| ESPDEPRECATED("cancel_retry is deprecated and will be removed in 2026.8.0.", "2026.2.0") bool cancel_retry(const std | ESPDEPRECATED ("cancel_retry is deprecated and will be removed in 2026.8.0.", "2026.2.0") bool cancel_retry(const char *name) |
| ESPDEPRECATED ("cancel_retry is deprecated and will be removed in 2026.8.0.", "2026.2.0") bool cancel_retry(uint32_t id) | |
| void | set_timeout (uint32_t id, uint32_t timeout, std::function< void()> &&f) |
| Set a timeout function with a numeric ID (zero heap allocation). | |
| void | set_timeout (InternalSchedulerID id, uint32_t timeout, std::function< void()> &&f) |
| void | set_timeout (uint32_t timeout, std::function< void()> &&f) |
| bool | cancel_timeout (uint32_t id) |
| bool | cancel_timeout (InternalSchedulerID id) |
| void | defer (std::function< void()> &&f) |
| Defer a callback to the next loop() call. | |
| void | defer (uint32_t id, std::function< void()> &&f) |
| Defer a callback with a numeric ID (zero heap allocation) | |
| bool | cancel_defer (uint32_t id) |
Protected Attributes | |
| std::unique_ptr< socket::Socket > | socket_ = nullptr |
| struct sockaddr_storage | dest_addr_ |
| Trigger | intent_end_trigger_ |
| Trigger | intent_start_trigger_ |
| Trigger | listening_trigger_ |
| Trigger | end_trigger_ |
| Trigger | start_trigger_ |
| Trigger | stt_vad_start_trigger_ |
| Trigger | stt_vad_end_trigger_ |
| Trigger | tts_stream_start_trigger_ |
| Trigger | tts_stream_end_trigger_ |
| Trigger< std::string > | intent_progress_trigger_ |
| Trigger | wake_word_detected_trigger_ |
| Trigger< std::string > | stt_end_trigger_ |
| Trigger< std::string > | tts_end_trigger_ |
| Trigger< std::string > | tts_start_trigger_ |
| Trigger< std::string, std::string > | error_trigger_ |
| Trigger | idle_trigger_ |
| Trigger | client_connected_trigger_ |
| Trigger | client_disconnected_trigger_ |
| api::APIConnection * | api_client_ {nullptr} |
| std::vector< Timer > | timers_ |
| Trigger< Timer > | timer_started_trigger_ |
| Trigger< Timer > | timer_finished_trigger_ |
| Trigger< Timer > | timer_updated_trigger_ |
| Trigger< Timer > | timer_cancelled_trigger_ |
| Trigger< const std::vector< Timer > & > | timer_tick_trigger_ |
| bool | has_timers_ {false} |
| bool | timer_tick_running_ {false} |
| microphone::MicrophoneSource * | mic_source_ {nullptr} |
| speaker::Speaker * | speaker_ {nullptr} |
| uint8_t * | speaker_buffer_ {nullptr} |
| size_t | speaker_buffer_index_ {0} |
| size_t | speaker_buffer_size_ {0} |
| size_t | speaker_bytes_received_ {0} |
| bool | wait_for_stream_end_ {false} |
| bool | stream_ended_ {false} |
| media_player::MediaPlayer * | media_player_ {nullptr} |
| std::string | tts_response_url_ {""} |
| bool | started_streaming_tts_ {false} |
| MediaPlayerResponseState | media_player_response_state_ {MediaPlayerResponseState::IDLE} |
| bool | local_output_ {false} |
| std::string | conversation_id_ {""} |
| std::string | wake_word_ {""} |
| std::shared_ptr< RingBuffer > | ring_buffer_ |
| bool | use_wake_word_ |
| uint8_t | noise_suppression_level_ |
| uint8_t | auto_gain_ |
| float | volume_multiplier_ |
| uint32_t | conversation_timeout_ |
| uint8_t * | send_buffer_ {nullptr} |
| bool | continuous_ {false} |
| bool | silence_detection_ |
| bool | continue_conversation_ {false} |
| State | state_ {State::IDLE} |
| State | desired_state_ {State::IDLE} |
| AudioMode | audio_mode_ {AUDIO_MODE_UDP} |
| bool | udp_socket_running_ {false} |
| Configuration | config_ {} |
| micro_wake_word::MicroWakeWord * | micro_wake_word_ {nullptr} |
Protected Attributes inherited from esphome::Component | |
| ESPDEPRECATED("Use const char* or uint32_t overload instead. Removed in 2026.7.0", "2026.1.0") void set_interval(const std voi | set_interval )(const char *name, uint32_t interval, std::function< void()> &&f) |
| Set an interval function with a unique name. | |
| ESPDEPRECATED("Use const char* or uint32_t overload instead. Removed in 2026.7.0", "2026.1.0") bool cancel_interval(const std boo | cancel_interval )(const char *name) |
| Cancel an interval function. | |
| ESPDEPRECATED("set_retry is deprecated and will be removed in 2026.8.0. Use set_timeout or set_interval instead.", "2026.2.0") void set_retry(const std uint32_t | initial_wait_time |
| ESPDEPRECATED("set_retry is deprecated and will be removed in 2026.8.0. Use set_timeout or set_interval instead.", "2026.2.0") void set_retry(const std uint32_t uint8_t | max_attempts |
| ESPDEPRECATED("set_retry is deprecated and will be removed in 2026.8.0. Use set_timeout or set_interval instead.", "2026.2.0") void set_retry(const std uint32_t uint8_t std::function< RetryResult(uint8_t)> && | f |
| ESPDEPRECATED("set_retry is deprecated and will be removed in 2026.8.0. Use set_timeout or set_interval instead.", "2026.2.0") void set_retry(const std uint32_t uint8_t std::function< RetryResult(uint8_t)> float | backoff_increase_factor = 1.0f) |
| uint32_t | initial_wait_time |
| uint32_t uint8_t | max_attempts |
| uint32_t uint8_t std::function< RetryResult(uint8_t)> && | f |
| uint32_t uint8_t std::function< RetryResult(uint8_t)> float | backoff_increase_factor = 1.0f) |
| uint8_t | max_attempts |
| uint8_t std::function< RetryResult(uint8_t)> && | f |
| uint8_t std::function< RetryResult(uint8_t)> float | backoff_increase_factor = 1.0f) |
| ESPDEPRECATED("Use const char* or uint32_t overload instead. Removed in 2026.7.0", "2026.1.0") void set_timeout(const std voi | set_timeout )(const char *name, uint32_t timeout, std::function< void()> &&f) |
| Set a timeout function with a unique name. | |
| ESPDEPRECATED("Use const char* or uint32_t overload instead. Removed in 2026.7.0", "2026.1.0") bool cancel_timeout(const std boo | cancel_timeout )(const char *name) |
| Cancel a timeout function. | |
| ESPDEPRECATED("Use const char* overload instead. Removed in 2026.7.0", "2026.1.0") void defer(const std voi | defer )(const char *name, std::function< void()> &&f) |
| Defer a callback to the next loop() call. | |
| ESPDEPRECATED("Use const char* overload instead. Removed in 2026.7.0", "2026.1.0") bool cancel_defer(const std boo | cancel_defer )(const char *name) |
| Cancel a defer callback using the specified name, name must not be empty. | |
| const LogString * | component_source_ {nullptr} |
| uint16_t | warn_if_blocking_over_ {WARN_IF_BLOCKING_OVER_MS} |
| Warn if blocked for this many ms (max 65.5s) | |
| uint8_t | component_state_ {0x00} |
| State of this component - each bit has a purpose: Bits 0-2: Component state (0x00=CONSTRUCTION, 0x01=SETUP, 0x02=LOOP, 0x03=FAILED, 0x04=LOOP_DONE) Bit 3: STATUS_LED_WARNING Bit 4: STATUS_LED_ERROR Bits 5-7: Unused - reserved for future expansion. | |
| volatile bool | pending_enable_loop_ {false} |
| ISR-safe flag for enable_loop_soon_any_context. | |
Definition at line 112 of file voice_assistant.h.
| esphome::voice_assistant::VoiceAssistant::VoiceAssistant | ( | ) |
Definition at line 30 of file voice_assistant.cpp.
|
protected |
Definition at line 107 of file voice_assistant.cpp.
|
protected |
Definition at line 139 of file voice_assistant.cpp.
| void esphome::voice_assistant::VoiceAssistant::client_subscription | ( | api::APIConnection * | client, |
| bool | subscribe ) |
Definition at line 421 of file voice_assistant.cpp.
|
protected |
Definition at line 159 of file voice_assistant.cpp.
| void esphome::voice_assistant::VoiceAssistant::failed_to_start | ( | ) |
Definition at line 494 of file voice_assistant.cpp.
|
inline |
Definition at line 220 of file voice_assistant.h.
|
inline |
Definition at line 216 of file voice_assistant.h.
|
inline |
Definition at line 217 of file voice_assistant.h.
| const Configuration & esphome::voice_assistant::VoiceAssistant::get_configuration | ( | ) |
Definition at line 975 of file voice_assistant.cpp.
|
inline |
Definition at line 201 of file voice_assistant.h.
|
inline |
Definition at line 213 of file voice_assistant.h.
|
inline |
Definition at line 149 of file voice_assistant.h.
|
inline |
Definition at line 214 of file voice_assistant.h.
|
inline |
Definition at line 197 of file voice_assistant.h.
|
inline |
Definition at line 199 of file voice_assistant.h.
|
inline |
Definition at line 198 of file voice_assistant.h.
|
inline |
Definition at line 140 of file voice_assistant.h.
|
inline |
Definition at line 200 of file voice_assistant.h.
|
overridevirtual |
Reimplemented from esphome::Component.
Definition at line 62 of file voice_assistant.cpp.
|
inline |
Definition at line 202 of file voice_assistant.h.
|
inline |
Definition at line 210 of file voice_assistant.h.
|
inline |
Definition at line 203 of file voice_assistant.h.
|
inline |
Definition at line 204 of file voice_assistant.h.
Definition at line 226 of file voice_assistant.h.
Definition at line 227 of file voice_assistant.h.
Definition at line 224 of file voice_assistant.h.
|
inline |
Definition at line 228 of file voice_assistant.h.
Definition at line 225 of file voice_assistant.h.
|
inline |
Definition at line 230 of file voice_assistant.h.
|
inline |
Definition at line 211 of file voice_assistant.h.
|
inline |
Definition at line 212 of file voice_assistant.h.
|
inline |
Definition at line 207 of file voice_assistant.h.
|
inline |
Definition at line 206 of file voice_assistant.h.
|
inline |
Definition at line 209 of file voice_assistant.h.
|
inline |
Definition at line 185 of file voice_assistant.h.
|
inline |
Definition at line 183 of file voice_assistant.h.
|
overridevirtual |
Reimplemented from esphome::Component.
Definition at line 184 of file voice_assistant.cpp.
| void esphome::voice_assistant::VoiceAssistant::on_announce | ( | const api::VoiceAssistantAnnounceRequest & | msg | ) |
Definition at line 922 of file voice_assistant.cpp.
| void esphome::voice_assistant::VoiceAssistant::on_audio | ( | const api::VoiceAssistantAudio & | msg | ) |
Definition at line 847 of file voice_assistant.cpp.
| void esphome::voice_assistant::VoiceAssistant::on_event | ( | const api::VoiceAssistantEventResponse & | msg | ) |
Definition at line 629 of file voice_assistant.cpp.
| void esphome::voice_assistant::VoiceAssistant::on_set_configuration | ( | const std::vector< std::string > & | active_wake_words | ) |
Definition at line 954 of file voice_assistant.cpp.
| void esphome::voice_assistant::VoiceAssistant::on_timer_event | ( | const api::VoiceAssistantTimerEventResponse & | msg | ) |
Definition at line 863 of file voice_assistant.cpp.
| void esphome::voice_assistant::VoiceAssistant::request_start | ( | bool | continuous, |
| bool | silence_detection ) |
Definition at line 546 of file voice_assistant.cpp.
| void esphome::voice_assistant::VoiceAssistant::request_stop | ( | ) |
Definition at line 561 of file voice_assistant.cpp.
| void esphome::voice_assistant::VoiceAssistant::reset_conversation_id | ( | ) |
Definition at line 179 of file voice_assistant.cpp.
|
inline |
Definition at line 192 of file voice_assistant.h.
|
inline |
Definition at line 184 of file voice_assistant.h.
|
inline |
Definition at line 194 of file voice_assistant.h.
|
inline |
Definition at line 229 of file voice_assistant.h.
|
inline |
Definition at line 134 of file voice_assistant.h.
|
inline |
Definition at line 125 of file voice_assistant.h.
|
inline |
Definition at line 123 of file voice_assistant.h.
|
inline |
Definition at line 189 of file voice_assistant.h.
|
inline |
Definition at line 128 of file voice_assistant.h.
|
protected |
Definition at line 481 of file voice_assistant.cpp.
|
protected |
Definition at line 488 of file voice_assistant.cpp.
|
inline |
Definition at line 187 of file voice_assistant.h.
|
inline |
Definition at line 193 of file voice_assistant.h.
|
inline |
Definition at line 222 of file voice_assistant.h.
|
overridevirtual |
Reimplemented from esphome::Component.
Definition at line 32 of file voice_assistant.cpp.
|
protected |
Definition at line 607 of file voice_assistant.cpp.
|
protected |
Definition at line 618 of file voice_assistant.cpp.
| void esphome::voice_assistant::VoiceAssistant::start_streaming | ( | ) |
Definition at line 500 of file voice_assistant.cpp.
| void esphome::voice_assistant::VoiceAssistant::start_streaming | ( | struct sockaddr_storage * | addr, |
| uint16_t | port ) |
Definition at line 516 of file voice_assistant.cpp.
|
protected |
Definition at line 64 of file voice_assistant.cpp.
|
protected |
Definition at line 913 of file voice_assistant.cpp.
|
protected |
Definition at line 403 of file voice_assistant.cpp.
|
protected |
Definition at line 267 of file voice_assistant.h.
|
protected |
Definition at line 322 of file voice_assistant.h.
|
protected |
Definition at line 308 of file voice_assistant.h.
|
protected |
Definition at line 264 of file voice_assistant.h.
|
protected |
Definition at line 265 of file voice_assistant.h.
|
protected |
Definition at line 326 of file voice_assistant.h.
|
protected |
Definition at line 317 of file voice_assistant.h.
|
protected |
Definition at line 314 of file voice_assistant.h.
|
protected |
Definition at line 300 of file voice_assistant.h.
|
protected |
Definition at line 310 of file voice_assistant.h.
|
protected |
Definition at line 320 of file voice_assistant.h.
|
protected |
Definition at line 243 of file voice_assistant.h.
|
protected |
Definition at line 248 of file voice_assistant.h.
|
protected |
Definition at line 261 of file voice_assistant.h.
|
protected |
Definition at line 276 of file voice_assistant.h.
|
protected |
Definition at line 262 of file voice_assistant.h.
|
protected |
Definition at line 245 of file voice_assistant.h.
|
protected |
Definition at line 256 of file voice_assistant.h.
|
protected |
Definition at line 246 of file voice_assistant.h.
|
protected |
Definition at line 247 of file voice_assistant.h.
|
protected |
Definition at line 298 of file voice_assistant.h.
|
protected |
Definition at line 291 of file voice_assistant.h.
|
protected |
Definition at line 295 of file voice_assistant.h.
|
protected |
Definition at line 279 of file voice_assistant.h.
|
protected |
Definition at line 329 of file voice_assistant.h.
|
protected |
Definition at line 307 of file voice_assistant.h.
|
protected |
Definition at line 304 of file voice_assistant.h.
|
protected |
Definition at line 312 of file voice_assistant.h.
|
protected |
Definition at line 315 of file voice_assistant.h.
|
protected |
Definition at line 242 of file voice_assistant.h.
|
protected |
Definition at line 282 of file voice_assistant.h.
|
protected |
Definition at line 283 of file voice_assistant.h.
|
protected |
Definition at line 284 of file voice_assistant.h.
|
protected |
Definition at line 285 of file voice_assistant.h.
|
protected |
Definition at line 286 of file voice_assistant.h.
|
protected |
Definition at line 249 of file voice_assistant.h.
|
protected |
Definition at line 293 of file voice_assistant.h.
|
protected |
Definition at line 319 of file voice_assistant.h.
|
protected |
Definition at line 288 of file voice_assistant.h.
|
protected |
Definition at line 258 of file voice_assistant.h.
|
protected |
Definition at line 251 of file voice_assistant.h.
|
protected |
Definition at line 250 of file voice_assistant.h.
Definition at line 274 of file voice_assistant.h.
Definition at line 272 of file voice_assistant.h.
Definition at line 271 of file voice_assistant.h.
|
protected |
Definition at line 277 of file voice_assistant.h.
|
protected |
Definition at line 275 of file voice_assistant.h.
Definition at line 273 of file voice_assistant.h.
|
protected |
Definition at line 269 of file voice_assistant.h.
|
protected |
Definition at line 259 of file voice_assistant.h.
|
protected |
Definition at line 292 of file voice_assistant.h.
|
protected |
Definition at line 260 of file voice_assistant.h.
|
protected |
Definition at line 254 of file voice_assistant.h.
|
protected |
Definition at line 253 of file voice_assistant.h.
|
protected |
Definition at line 323 of file voice_assistant.h.
|
protected |
Definition at line 306 of file voice_assistant.h.
|
protected |
Definition at line 309 of file voice_assistant.h.
|
protected |
Definition at line 287 of file voice_assistant.h.
|
protected |
Definition at line 302 of file voice_assistant.h.
|
protected |
Definition at line 257 of file voice_assistant.h.