ESPHome 2026.8.0-dev
Loading...
Searching...
No Matches
esphome::api::APIConnection Class Referencefinal

#include <api_connection.h>

Inheritance diagram for esphome::api::APIConnection:
esphome::api::APIServerConnectionBase

Data Structures

struct  APIFlags
 
struct  DeferredBatch
 
union  IteratorUnion
 

Public Types

using MessageEncodeFn = uint8_t *(*) (const void *, ProtoWriteBuffer &PROTO_ENCODE_DEBUG_PARAM)
 
using CalculateSizeFn = uint32_t (*)(const void *)
 

Public Member Functions

 APIConnection (std::unique_ptr< socket::Socket > socket, APIServer *parent)
 
 ~APIConnection ()
 
void start ()
 
void loop ()
 
bool send_list_info_done ()
 
bool send_binary_sensor_state (binary_sensor::BinarySensor *binary_sensor)
 
bool send_cover_state (cover::Cover *cover)
 
void on_cover_command_request (const CoverCommandRequest &msg)
 
bool send_fan_state (fan::Fan *fan)
 
void on_fan_command_request (const FanCommandRequest &msg)
 
bool send_light_state (light::LightState *light)
 
void on_light_command_request (const LightCommandRequest &msg)
 
bool send_sensor_state (sensor::Sensor *sensor)
 
bool send_switch_state (switch_::Switch *a_switch)
 
void on_switch_command_request (const SwitchCommandRequest &msg)
 
bool send_text_sensor_state (text_sensor::TextSensor *text_sensor)
 
void set_camera_state (std::shared_ptr< camera::CameraImage > image)
 
void on_camera_image_request (const CameraImageRequest &msg)
 
bool send_climate_state (climate::Climate *climate)
 
void on_climate_command_request (const ClimateCommandRequest &msg)
 
bool send_number_state (number::Number *number)
 
void on_number_command_request (const NumberCommandRequest &msg)
 
bool send_date_state (datetime::DateEntity *date)
 
void on_date_command_request (const DateCommandRequest &msg)
 
bool send_time_state (datetime::TimeEntity *time)
 
void on_time_command_request (const TimeCommandRequest &msg)
 
bool send_datetime_state (datetime::DateTimeEntity *datetime)
 
void on_date_time_command_request (const DateTimeCommandRequest &msg)
 
bool send_text_state (text::Text *text)
 
void on_text_command_request (const TextCommandRequest &msg)
 
bool send_select_state (select::Select *select)
 
void on_select_command_request (const SelectCommandRequest &msg)
 
void on_button_command_request (const ButtonCommandRequest &msg)
 
bool send_lock_state (lock::Lock *a_lock)
 
void on_lock_command_request (const LockCommandRequest &msg)
 
bool send_valve_state (valve::Valve *valve)
 
void on_valve_command_request (const ValveCommandRequest &msg)
 
bool send_media_player_state (media_player::MediaPlayer *media_player)
 
void on_media_player_command_request (const MediaPlayerCommandRequest &msg)
 
bool try_send_log_message (int level, const char *tag, const char *line, size_t message_len)
 
bool send_homeassistant_action (const HomeassistantActionRequest &call)
 
void on_homeassistant_action_response (const HomeassistantActionResponse &msg)
 
void on_subscribe_bluetooth_le_advertisements_request (const SubscribeBluetoothLEAdvertisementsRequest &msg)
 
void on_unsubscribe_bluetooth_le_advertisements_request ()
 
void on_bluetooth_device_request (const BluetoothDeviceRequest &msg)
 
void on_bluetooth_gatt_read_request (const BluetoothGATTReadRequest &msg)
 
void on_bluetooth_gatt_write_request (const BluetoothGATTWriteRequest &msg)
 
void on_bluetooth_gatt_read_descriptor_request (const BluetoothGATTReadDescriptorRequest &msg)
 
void on_bluetooth_gatt_write_descriptor_request (const BluetoothGATTWriteDescriptorRequest &msg)
 
void on_bluetooth_gatt_get_services_request (const BluetoothGATTGetServicesRequest &msg)
 
void on_bluetooth_gatt_notify_request (const BluetoothGATTNotifyRequest &msg)
 
void on_subscribe_bluetooth_connections_free_request ()
 
void on_bluetooth_scanner_set_mode_request (const BluetoothScannerSetModeRequest &msg)
 
void on_bluetooth_set_connection_params_request (const BluetoothSetConnectionParamsRequest &msg)
 
void send_time_request ()
 
void on_subscribe_voice_assistant_request (const SubscribeVoiceAssistantRequest &msg)
 
void on_voice_assistant_response (const VoiceAssistantResponse &msg)
 
void on_voice_assistant_event_response (const VoiceAssistantEventResponse &msg)
 
void on_voice_assistant_audio (const VoiceAssistantAudio &msg)
 
void on_voice_assistant_timer_event_response (const VoiceAssistantTimerEventResponse &msg)
 
void on_voice_assistant_announce_request (const VoiceAssistantAnnounceRequest &msg)
 
void on_voice_assistant_configuration_request (const VoiceAssistantConfigurationRequest &msg)
 
void on_voice_assistant_set_configuration (const VoiceAssistantSetConfiguration &msg)
 
void on_z_wave_proxy_frame (const ZWaveProxyFrame &msg)
 
void on_z_wave_proxy_request (const ZWaveProxyRequest &msg)
 
bool send_alarm_control_panel_state (alarm_control_panel::AlarmControlPanel *a_alarm_control_panel)
 
void on_alarm_control_panel_command_request (const AlarmControlPanelCommandRequest &msg)
 
bool send_water_heater_state (water_heater::WaterHeater *water_heater)
 
void on_water_heater_command_request (const WaterHeaterCommandRequest &msg)
 
void on_infrared_rf_transmit_raw_timings_request (const InfraredRFTransmitRawTimingsRequest &msg)
 
void send_infrared_rf_receive_event (const InfraredRFReceiveEvent &msg)
 
void on_serial_proxy_configure_request (const SerialProxyConfigureRequest &msg)
 
void on_serial_proxy_write_request (const SerialProxyWriteRequest &msg)
 
void on_serial_proxy_set_modem_pins_request (const SerialProxySetModemPinsRequest &msg)
 
void on_serial_proxy_get_modem_pins_request (const SerialProxyGetModemPinsRequest &msg)
 
void on_serial_proxy_request (const SerialProxyRequest &msg)
 
void send_serial_proxy_data (const SerialProxyDataReceived &msg)
 
void send_event (event::Event *event)
 
bool send_update_state (update::UpdateEntity *update)
 
void on_update_command_request (const UpdateCommandRequest &msg)
 
void on_disconnect_response ()
 
void on_ping_response ()
 
void on_home_assistant_state_response (const HomeAssistantStateResponse &msg)
 
void on_get_time_response (const GetTimeResponse &value)
 
void on_hello_request (const HelloRequest &msg)
 
void on_disconnect_request (const DisconnectRequest &msg)
 
void on_ping_request ()
 
void on_device_info_request ()
 
void on_list_entities_request ()
 
void on_subscribe_states_request ()
 
void on_subscribe_logs_request (const SubscribeLogsRequest &msg)
 
void on_subscribe_homeassistant_services_request ()
 
void on_subscribe_home_assistant_states_request ()
 
void on_execute_service_request (const ExecuteServiceRequest &msg)
 
void send_execute_service_response (uint32_t call_id, bool success, StringRef error_message)
 
void send_execute_service_response (uint32_t call_id, bool success, StringRef error_message, const uint8_t *response_data, size_t response_data_len)
 
void on_noise_encryption_set_key_request (const NoiseEncryptionSetKeyRequest &msg)
 
bool is_authenticated ()
 
bool is_connection_setup ()
 
bool is_marked_for_removal () const
 
uint8_t get_log_subscription_level () const
 
bool client_supports_api_version (uint16_t major, uint16_t minor) const
 
void on_fatal_error ()
 
void on_no_setup_connection ()
 
template<typename T >
bool send_message (const T &msg)
 
void prepare_first_message_buffer (APIBuffer &shared_buf, size_t header_padding, size_t total_size)
 
void prepare_first_message_buffer (APIBuffer &shared_buf, size_t payload_size)
 
bool try_to_clear_buffer (bool log_out_of_space)
 
bool send_buffer (ProtoWriteBuffer buffer, uint8_t message_type)
 
const char * get_name () const
 
const char * get_peername_to (std::span< char, socket::SOCKADDR_STR_LEN > buf) const
 Get peer name (IP address) into caller-provided buffer, returns buf for convenience.
 
- Public Member Functions inherited from esphome::api::APIServerConnectionBase
void on_hello_request (const HelloRequest &value)
 
void on_disconnect_request (const DisconnectRequest &value)
 
void on_disconnect_response ()
 
void on_ping_request ()
 
void on_ping_response ()
 
void on_device_info_request ()
 
void on_list_entities_request ()
 
void on_subscribe_states_request ()
 
void on_cover_command_request (const CoverCommandRequest &value)
 
void on_fan_command_request (const FanCommandRequest &value)
 
void on_light_command_request (const LightCommandRequest &value)
 
void on_switch_command_request (const SwitchCommandRequest &value)
 
void on_subscribe_logs_request (const SubscribeLogsRequest &value)
 
void on_noise_encryption_set_key_request (const NoiseEncryptionSetKeyRequest &value)
 
void on_subscribe_homeassistant_services_request ()
 
void on_homeassistant_action_response (const HomeassistantActionResponse &value)
 
void on_subscribe_home_assistant_states_request ()
 
void on_home_assistant_state_response (const HomeAssistantStateResponse &value)
 
void on_get_time_response (const GetTimeResponse &value)
 
void on_execute_service_request (const ExecuteServiceRequest &value)
 
void on_camera_image_request (const CameraImageRequest &value)
 
void on_climate_command_request (const ClimateCommandRequest &value)
 
void on_water_heater_command_request (const WaterHeaterCommandRequest &value)
 
void on_number_command_request (const NumberCommandRequest &value)
 
void on_select_command_request (const SelectCommandRequest &value)
 
void on_siren_command_request (const SirenCommandRequest &value)
 
void on_lock_command_request (const LockCommandRequest &value)
 
void on_button_command_request (const ButtonCommandRequest &value)
 
void on_media_player_command_request (const MediaPlayerCommandRequest &value)
 
void on_subscribe_bluetooth_le_advertisements_request (const SubscribeBluetoothLEAdvertisementsRequest &value)
 
void on_bluetooth_device_request (const BluetoothDeviceRequest &value)
 
void on_bluetooth_gatt_get_services_request (const BluetoothGATTGetServicesRequest &value)
 
void on_bluetooth_gatt_read_request (const BluetoothGATTReadRequest &value)
 
void on_bluetooth_gatt_write_request (const BluetoothGATTWriteRequest &value)
 
void on_bluetooth_gatt_read_descriptor_request (const BluetoothGATTReadDescriptorRequest &value)
 
void on_bluetooth_gatt_write_descriptor_request (const BluetoothGATTWriteDescriptorRequest &value)
 
void on_bluetooth_gatt_notify_request (const BluetoothGATTNotifyRequest &value)
 
void on_subscribe_bluetooth_connections_free_request ()
 
void on_unsubscribe_bluetooth_le_advertisements_request ()
 
void on_bluetooth_scanner_set_mode_request (const BluetoothScannerSetModeRequest &value)
 
void on_subscribe_voice_assistant_request (const SubscribeVoiceAssistantRequest &value)
 
void on_voice_assistant_response (const VoiceAssistantResponse &value)
 
void on_voice_assistant_event_response (const VoiceAssistantEventResponse &value)
 
void on_voice_assistant_audio (const VoiceAssistantAudio &value)
 
void on_voice_assistant_timer_event_response (const VoiceAssistantTimerEventResponse &value)
 
void on_voice_assistant_announce_request (const VoiceAssistantAnnounceRequest &value)
 
void on_voice_assistant_configuration_request (const VoiceAssistantConfigurationRequest &value)
 
void on_voice_assistant_set_configuration (const VoiceAssistantSetConfiguration &value)
 
void on_alarm_control_panel_command_request (const AlarmControlPanelCommandRequest &value)
 
void on_text_command_request (const TextCommandRequest &value)
 
void on_date_command_request (const DateCommandRequest &value)
 
void on_time_command_request (const TimeCommandRequest &value)
 
void on_valve_command_request (const ValveCommandRequest &value)
 
void on_date_time_command_request (const DateTimeCommandRequest &value)
 
void on_update_command_request (const UpdateCommandRequest &value)
 
void on_z_wave_proxy_frame (const ZWaveProxyFrame &value)
 
void on_z_wave_proxy_request (const ZWaveProxyRequest &value)
 
void on_infrared_rf_transmit_raw_timings_request (const InfraredRFTransmitRawTimingsRequest &value)
 
void on_serial_proxy_configure_request (const SerialProxyConfigureRequest &value)
 
void on_serial_proxy_write_request (const SerialProxyWriteRequest &value)
 
void on_serial_proxy_set_modem_pins_request (const SerialProxySetModemPinsRequest &value)
 
void on_serial_proxy_get_modem_pins_request (const SerialProxyGetModemPinsRequest &value)
 
void on_serial_proxy_request (const SerialProxyRequest &value)
 
void on_bluetooth_set_connection_params_request (const BluetoothSetConnectionParamsRequest &value)
 

Protected Types

enum class  ActiveIterator : uint8_t { NONE , LIST_ENTITIES , INITIAL_STATE }
 
enum class  ConnectionState : uint8_t { WAITING_FOR_HELLO = 0 , CONNECTED = 1 , AUTHENTICATED = 2 }
 
using MessageCreatorPtr = uint16_t (*)(EntityBase *, APIConnection *, uint32_t remaining_size)
 

Protected Member Functions

void read_message_ (uint32_t msg_size, uint32_t msg_type, const uint8_t *msg_data)
 
bool check_connection_setup_ ()
 
bool check_authenticated_ ()
 
bool try_to_clear_buffer_slow_ (bool log_out_of_space)
 
void complete_authentication_ ()
 
bool send_hello_response_ (const HelloRequest &msg)
 
bool send_disconnect_response_ ()
 
bool send_ping_response_ ()
 
bool send_device_info_response_ ()
 
bool send_noise_encryption_set_key_response_ (const NoiseEncryptionSetKeyRequest &msg)
 
bool send_subscribe_bluetooth_connections_free_response_ ()
 
bool send_voice_assistant_get_configuration_response_ (const VoiceAssistantConfigurationRequest &msg)
 
void try_send_camera_image_ ()
 
void process_state_subscriptions_ ()
 
bool send_message_ (uint32_t payload_size, uint8_t message_type, MessageEncodeFn encode_fn, const void *msg)
 
bool check_voice_assistant_api_connection_ () const
 
void __attribute__ ((noinline)) check_keepalive_(uint32_t now)
 
void __attribute__ ((noinline)) process_active_iterator_()
 
void process_iterator_batch_ (ComponentIterator &iterator)
 
void destroy_active_iterator_ ()
 
void begin_iterator_ (ActiveIterator type)
 
void finalize_iterator_sync_ ()
 
void upgrade_helper_to_noise_ ()
 
uint32_t get_batch_delay_ms_ () const
 
bool schedule_batch_ ()
 
void process_batch_ ()
 
void process_batch_multi_ (APIBuffer &shared_buf, size_t num_items, uint8_t header_padding, uint8_t footer_size) __attribute__((noinline))
 
void clear_batch_ ()
 
uint16_t dispatch_message_ (const DeferredBatch::BatchItem &item, uint32_t remaining_size, bool batch_first)
 
void log_batch_item_ (const DeferredBatch::BatchItem &item)
 
bool should_send_immediately_ (uint8_t message_type) const
 
bool send_message_smart_ (EntityBase *entity, uint8_t message_type, uint8_t estimated_size, uint8_t aux_data_index=DeferredBatch::AUX_DATA_UNUSED)
 
bool schedule_message_ (EntityBase *entity, uint8_t message_type, uint8_t estimated_size, uint8_t aux_data_index=DeferredBatch::AUX_DATA_UNUSED)
 
bool schedule_message_front_ (EntityBase *entity, uint8_t message_type, uint8_t estimated_size)
 
void log_client_ (int level, const LogString *message)
 
void log_warning_ (const LogString *message, APIError err)
 
void fatal_error_with_log_ (const LogString *message, APIError err)
 
- Protected Member Functions inherited from esphome::api::APIServerConnectionBase
void log_send_message_ (const LogString *name, const char *dump)
 
void log_receive_message_ (const LogString *name, const ProtoMessage &msg)
 
void log_receive_message_ (const LogString *name)
 

Static Protected Member Functions

template<typename T >
static uint32_t calc_size (const void *msg)
 
static uint8_t * encode_msg_noop (const void *, ProtoWriteBuffer &buf PROTO_ENCODE_DEBUG_PARAM)
 
static uint16_t ESPHOME_ALWAYS_INLINE encode_to_buffer (uint32_t calculated_size, MessageEncodeFn encode_fn, const void *msg, APIConnection *conn, uint32_t remaining_size)
 
static uint16_t encode_to_buffer_slow (uint32_t calculated_size, MessageEncodeFn encode_fn, const void *msg, APIConnection *conn, uint32_t remaining_size)
 
template<typename T >
static uint16_t encode_message_to_buffer (T &msg, APIConnection *conn, uint32_t remaining_size)
 
static uint16_t fill_and_encode_entity_state (EntityBase *entity, StateResponseProtoMessage &msg, CalculateSizeFn size_fn, MessageEncodeFn encode_fn, APIConnection *conn, uint32_t remaining_size)
 
template<typename T >
static uint16_t fill_and_encode_entity_state (EntityBase *entity, T &msg, APIConnection *conn, uint32_t remaining_size)
 
static uint16_t fill_and_encode_entity_info (EntityBase *entity, InfoResponseProtoMessage &msg, CalculateSizeFn size_fn, MessageEncodeFn encode_fn, APIConnection *conn, uint32_t remaining_size)
 
template<typename T >
static uint16_t fill_and_encode_entity_info (EntityBase *entity, T &msg, APIConnection *conn, uint32_t remaining_size)
 
static uint16_t fill_and_encode_entity_info_with_device_class (EntityBase *entity, InfoResponseProtoMessage &msg, StringRef &device_class_field, CalculateSizeFn size_fn, MessageEncodeFn encode_fn, APIConnection *conn, uint32_t remaining_size)
 
template<typename T >
static uint16_t fill_and_encode_entity_info_with_device_class (EntityBase *entity, T &msg, StringRef &device_class_field, APIConnection *conn, uint32_t remaining_size)
 
static uint16_t try_send_binary_sensor_state (EntityBase *entity, APIConnection *conn, uint32_t remaining_size)
 
static uint16_t try_send_binary_sensor_info (EntityBase *entity, APIConnection *conn, uint32_t remaining_size)
 
static uint16_t try_send_cover_state (EntityBase *entity, APIConnection *conn, uint32_t remaining_size)
 
static uint16_t try_send_cover_info (EntityBase *entity, APIConnection *conn, uint32_t remaining_size)
 
static uint16_t try_send_fan_state (EntityBase *entity, APIConnection *conn, uint32_t remaining_size)
 
static uint16_t try_send_fan_info (EntityBase *entity, APIConnection *conn, uint32_t remaining_size)
 
static uint16_t try_send_light_state (EntityBase *entity, APIConnection *conn, uint32_t remaining_size)
 
static uint16_t try_send_light_info (EntityBase *entity, APIConnection *conn, uint32_t remaining_size)
 
static uint16_t try_send_sensor_state (EntityBase *entity, APIConnection *conn, uint32_t remaining_size)
 
static uint16_t try_send_sensor_info (EntityBase *entity, APIConnection *conn, uint32_t remaining_size)
 
static uint16_t try_send_switch_state (EntityBase *entity, APIConnection *conn, uint32_t remaining_size)
 
static uint16_t try_send_switch_info (EntityBase *entity, APIConnection *conn, uint32_t remaining_size)
 
static uint16_t try_send_text_sensor_state (EntityBase *entity, APIConnection *conn, uint32_t remaining_size)
 
static uint16_t try_send_text_sensor_info (EntityBase *entity, APIConnection *conn, uint32_t remaining_size)
 
static uint16_t try_send_climate_state (EntityBase *entity, APIConnection *conn, uint32_t remaining_size)
 
static uint16_t try_send_climate_info (EntityBase *entity, APIConnection *conn, uint32_t remaining_size)
 
static uint16_t try_send_number_state (EntityBase *entity, APIConnection *conn, uint32_t remaining_size)
 
static uint16_t try_send_number_info (EntityBase *entity, APIConnection *conn, uint32_t remaining_size)
 
static uint16_t try_send_date_state (EntityBase *entity, APIConnection *conn, uint32_t remaining_size)
 
static uint16_t try_send_date_info (EntityBase *entity, APIConnection *conn, uint32_t remaining_size)
 
static uint16_t try_send_time_state (EntityBase *entity, APIConnection *conn, uint32_t remaining_size)
 
static uint16_t try_send_time_info (EntityBase *entity, APIConnection *conn, uint32_t remaining_size)
 
static uint16_t try_send_datetime_state (EntityBase *entity, APIConnection *conn, uint32_t remaining_size)
 
static uint16_t try_send_datetime_info (EntityBase *entity, APIConnection *conn, uint32_t remaining_size)
 
static uint16_t try_send_text_state (EntityBase *entity, APIConnection *conn, uint32_t remaining_size)
 
static uint16_t try_send_text_info (EntityBase *entity, APIConnection *conn, uint32_t remaining_size)
 
static uint16_t try_send_select_state (EntityBase *entity, APIConnection *conn, uint32_t remaining_size)
 
static uint16_t try_send_select_info (EntityBase *entity, APIConnection *conn, uint32_t remaining_size)
 
static uint16_t try_send_button_info (EntityBase *entity, APIConnection *conn, uint32_t remaining_size)
 
static uint16_t try_send_lock_state (EntityBase *entity, APIConnection *conn, uint32_t remaining_size)
 
static uint16_t try_send_lock_info (EntityBase *entity, APIConnection *conn, uint32_t remaining_size)
 
static uint16_t try_send_valve_state (EntityBase *entity, APIConnection *conn, uint32_t remaining_size)
 
static uint16_t try_send_valve_info (EntityBase *entity, APIConnection *conn, uint32_t remaining_size)
 
static uint16_t try_send_media_player_state (EntityBase *entity, APIConnection *conn, uint32_t remaining_size)
 
static uint16_t try_send_media_player_info (EntityBase *entity, APIConnection *conn, uint32_t remaining_size)
 
static uint16_t try_send_alarm_control_panel_state (EntityBase *entity, APIConnection *conn, uint32_t remaining_size)
 
static uint16_t try_send_alarm_control_panel_info (EntityBase *entity, APIConnection *conn, uint32_t remaining_size)
 
static uint16_t try_send_water_heater_state (EntityBase *entity, APIConnection *conn, uint32_t remaining_size)
 
static uint16_t try_send_water_heater_info (EntityBase *entity, APIConnection *conn, uint32_t remaining_size)
 
static uint16_t try_send_infrared_info (EntityBase *entity, APIConnection *conn, uint32_t remaining_size)
 
static uint16_t try_send_radio_frequency_info (EntityBase *entity, APIConnection *conn, uint32_t remaining_size)
 
static uint16_t try_send_event_response (event::Event *event, StringRef event_type, APIConnection *conn, uint32_t remaining_size)
 
static uint16_t try_send_event_info (EntityBase *entity, APIConnection *conn, uint32_t remaining_size)
 
static uint16_t try_send_update_state (EntityBase *entity, APIConnection *conn, uint32_t remaining_size)
 
static uint16_t try_send_update_info (EntityBase *entity, APIConnection *conn, uint32_t remaining_size)
 
static uint16_t try_send_camera_info (EntityBase *entity, APIConnection *conn, uint32_t remaining_size)
 
static uint16_t try_send_list_info_done (EntityBase *entity, APIConnection *conn, uint32_t remaining_size)
 
static uint16_t try_send_disconnect_request (EntityBase *entity, APIConnection *conn, uint32_t remaining_size)
 
static uint16_t try_send_ping_request (EntityBase *entity, APIConnection *conn, uint32_t remaining_size)
 

Protected Attributes

std::unique_ptr< APIFrameHelperhelper_
 
std::unique_ptr< APINoiseFrameHelperhelper_
 
std::unique_ptr< APIPlaintextFrameHelperhelper_
 
APIServerparent_
 
union esphome::api::APIConnection::IteratorUnion iterator_storage_
 
std::unique_ptr< camera::CameraImageReaderimage_reader_
 
uint32_t last_traffic_
 
int state_subs_at_ = -1
 
DeferredBatch deferred_batch_
 
struct esphome::api::APIConnection::APIFlags flags_
 
uint16_t client_api_version_major_ {0}
 
uint16_t client_api_version_minor_ {0}
 
ActiveIterator active_iterator_ {ActiveIterator::NONE}
 
uint8_t batch_message_type_ {0}
 
uint8_t batch_header_size_ {0}
 

Static Protected Attributes

static constexpr size_t MAX_BATCH_PACKET_SIZE = 1390
 

Detailed Description

Definition at line 58 of file api_connection.h.

Member Typedef Documentation

◆ CalculateSizeFn

Definition at line 335 of file api_connection.h.

◆ MessageCreatorPtr

using esphome::api::APIConnection::MessageCreatorPtr = uint16_t (*)(EntityBase *, APIConnection *, uint32_t remaining_size)
protected

Definition at line 649 of file api_connection.h.

◆ MessageEncodeFn

using esphome::api::APIConnection::MessageEncodeFn = uint8_t *(*) (const void *, ProtoWriteBuffer &PROTO_ENCODE_DEBUG_PARAM)

Definition at line 333 of file api_connection.h.

Member Enumeration Documentation

◆ ActiveIterator

enum class esphome::api::APIConnection::ActiveIterator : uint8_t
strongprotected
Enumerator
NONE 
LIST_ENTITIES 
INITIAL_STATE 

Definition at line 619 of file api_connection.h.

◆ ConnectionState

enum class esphome::api::APIConnection::ConnectionState : uint8_t
strongprotected
Enumerator
WAITING_FOR_HELLO 
CONNECTED 
AUTHENTICATED 

Definition at line 723 of file api_connection.h.

Constructor & Destructor Documentation

◆ APIConnection()

esphome::api::APIConnection::APIConnection ( std::unique_ptr< socket::Socket > socket,
APIServer * parent )

Definition at line 139 of file api_connection.cpp.

◆ ~APIConnection()

esphome::api::APIConnection::~APIConnection ( )

Definition at line 175 of file api_connection.cpp.

Member Function Documentation

◆ __attribute__() [1/2]

void esphome::api::APIConnection::__attribute__ ( (noinline) )
protected

◆ __attribute__() [2/2]

void esphome::api::APIConnection::__attribute__ ( (noinline) )
protected

◆ begin_iterator_()

void esphome::api::APIConnection::begin_iterator_ ( ActiveIterator type)
protected

Definition at line 238 of file api_connection.cpp.

◆ calc_size()

template<typename T >
static uint32_t esphome::api::APIConnection::calc_size ( const void * msg)
inlinestaticprotected

Definition at line 407 of file api_connection.h.

◆ check_authenticated_()

bool esphome::api::APIConnection::check_authenticated_ ( )
inlineprotected

Definition at line 88 of file api_connection.h.

◆ check_connection_setup_()

bool esphome::api::APIConnection::check_connection_setup_ ( )
inlineprotected

Definition at line 81 of file api_connection.h.

◆ check_voice_assistant_api_connection_()

bool esphome::api::APIConnection::check_voice_assistant_api_connection_ ( ) const
inlineprotected

Definition at line 1281 of file api_connection.cpp.

◆ clear_batch_()

void esphome::api::APIConnection::clear_batch_ ( )
inlineprotected

Definition at line 783 of file api_connection.h.

◆ client_supports_api_version()

bool esphome::api::APIConnection::client_supports_api_version ( uint16_t major,
uint16_t minor ) const
inline

Definition at line 324 of file api_connection.h.

◆ complete_authentication_()

void esphome::api::APIConnection::complete_authentication_ ( )
protected

Definition at line 1713 of file api_connection.cpp.

◆ destroy_active_iterator_()

void esphome::api::APIConnection::destroy_active_iterator_ ( )
protected

Definition at line 224 of file api_connection.cpp.

◆ dispatch_message_()

uint16_t esphome::api::APIConnection::dispatch_message_ ( const DeferredBatch::BatchItem & item,
uint32_t remaining_size,
bool batch_first )
protected

Definition at line 2355 of file api_connection.cpp.

◆ encode_message_to_buffer()

template<typename T >
static uint16_t esphome::api::APIConnection::encode_message_to_buffer ( T & msg,
APIConnection * conn,
uint32_t remaining_size )
inlinestaticprotected

Definition at line 433 of file api_connection.h.

◆ encode_msg_noop()

static uint8_t * esphome::api::APIConnection::encode_msg_noop ( const void * ,
ProtoWriteBuffer &buf PROTO_ENCODE_DEBUG_PARAM )
inlinestaticprotected

Definition at line 412 of file api_connection.h.

◆ encode_to_buffer()

uint16_t ESPHOME_ALWAYS_INLINE esphome::api::APIConnection::encode_to_buffer ( uint32_t calculated_size,
MessageEncodeFn encode_fn,
const void * msg,
APIConnection * conn,
uint32_t remaining_size )
inlinestaticprotected

Definition at line 14 of file api_connection_buffer.h.

◆ encode_to_buffer_slow()

uint16_t esphome::api::APIConnection::encode_to_buffer_slow ( uint32_t calculated_size,
MessageEncodeFn encode_fn,
const void * msg,
APIConnection * conn,
uint32_t remaining_size )
staticprotected

Definition at line 2141 of file api_connection.cpp.

◆ fatal_error_with_log_()

void esphome::api::APIConnection::fatal_error_with_log_ ( const LogString * message,
APIError err )
inlineprotected

Definition at line 840 of file api_connection.h.

◆ fill_and_encode_entity_info() [1/2]

uint16_t esphome::api::APIConnection::fill_and_encode_entity_info ( EntityBase * entity,
InfoResponseProtoMessage & msg,
CalculateSizeFn size_fn,
MessageEncodeFn encode_fn,
APIConnection * conn,
uint32_t remaining_size )
staticprotected

Definition at line 450 of file api_connection.cpp.

◆ fill_and_encode_entity_info() [2/2]

template<typename T >
static uint16_t esphome::api::APIConnection::fill_and_encode_entity_info ( EntityBase * entity,
T & msg,
APIConnection * conn,
uint32_t remaining_size )
inlinestaticprotected

Definition at line 460 of file api_connection.h.

◆ fill_and_encode_entity_info_with_device_class() [1/2]

uint16_t esphome::api::APIConnection::fill_and_encode_entity_info_with_device_class ( EntityBase * entity,
InfoResponseProtoMessage & msg,
StringRef & device_class_field,
CalculateSizeFn size_fn,
MessageEncodeFn encode_fn,
APIConnection * conn,
uint32_t remaining_size )
staticprotected

Definition at line 473 of file api_connection.cpp.

◆ fill_and_encode_entity_info_with_device_class() [2/2]

template<typename T >
static uint16_t esphome::api::APIConnection::fill_and_encode_entity_info_with_device_class ( EntityBase * entity,
T & msg,
StringRef & device_class_field,
APIConnection * conn,
uint32_t remaining_size )
inlinestaticprotected

Definition at line 473 of file api_connection.h.

◆ fill_and_encode_entity_state() [1/2]

uint16_t esphome::api::APIConnection::fill_and_encode_entity_state ( EntityBase * entity,
StateResponseProtoMessage & msg,
CalculateSizeFn size_fn,
MessageEncodeFn encode_fn,
APIConnection * conn,
uint32_t remaining_size )
staticprotected

Definition at line 440 of file api_connection.cpp.

◆ fill_and_encode_entity_state() [2/2]

template<typename T >
static uint16_t esphome::api::APIConnection::fill_and_encode_entity_state ( EntityBase * entity,
T & msg,
APIConnection * conn,
uint32_t remaining_size )
inlinestaticprotected

Definition at line 448 of file api_connection.h.

◆ finalize_iterator_sync_()

void esphome::api::APIConnection::finalize_iterator_sync_ ( )
protected

Definition at line 397 of file api_connection.cpp.

◆ get_batch_delay_ms_()

uint32_t esphome::api::APIConnection::get_batch_delay_ms_ ( ) const
inlineprotected

Definition at line 51 of file api_connection_buffer.h.

◆ get_log_subscription_level()

uint8_t esphome::api::APIConnection::get_log_subscription_level ( ) const
inline

Definition at line 321 of file api_connection.h.

◆ get_name()

const char * esphome::api::APIConnection::get_name ( ) const
inline

Definition at line 371 of file api_connection.h.

◆ get_peername_to()

const char * esphome::api::APIConnection::get_peername_to ( std::span< char, socket::SOCKADDR_STR_LEN > buf) const
inline

Get peer name (IP address) into caller-provided buffer, returns buf for convenience.

Definition at line 373 of file api_connection.h.

◆ is_authenticated()

bool esphome::api::APIConnection::is_authenticated ( )
inline

Definition at line 313 of file api_connection.h.

◆ is_connection_setup()

bool esphome::api::APIConnection::is_connection_setup ( )
inline

Definition at line 316 of file api_connection.h.

◆ is_marked_for_removal()

bool esphome::api::APIConnection::is_marked_for_removal ( ) const
inline

Definition at line 320 of file api_connection.h.

◆ log_batch_item_()

void esphome::api::APIConnection::log_batch_item_ ( const DeferredBatch::BatchItem & item)
inlineprotected

Definition at line 793 of file api_connection.h.

◆ log_client_()

void esphome::api::APIConnection::log_client_ ( int level,
const LogString * message )
protected

Definition at line 2520 of file api_connection.cpp.

◆ log_warning_()

void esphome::api::APIConnection::log_warning_ ( const LogString * message,
APIError err )
protected

Definition at line 2526 of file api_connection.cpp.

◆ loop()

void esphome::api::APIConnection::loop ( )

Definition at line 250 of file api_connection.cpp.

◆ on_alarm_control_panel_command_request()

void esphome::api::APIConnection::on_alarm_control_panel_command_request ( const AlarmControlPanelCommandRequest & msg)

Definition at line 1416 of file api_connection.cpp.

◆ on_bluetooth_device_request()

void esphome::api::APIConnection::on_bluetooth_device_request ( const BluetoothDeviceRequest & msg)

Definition at line 1238 of file api_connection.cpp.

◆ on_bluetooth_gatt_get_services_request()

void esphome::api::APIConnection::on_bluetooth_gatt_get_services_request ( const BluetoothGATTGetServicesRequest & msg)

Definition at line 1253 of file api_connection.cpp.

◆ on_bluetooth_gatt_notify_request()

void esphome::api::APIConnection::on_bluetooth_gatt_notify_request ( const BluetoothGATTNotifyRequest & msg)

Definition at line 1257 of file api_connection.cpp.

◆ on_bluetooth_gatt_read_descriptor_request()

void esphome::api::APIConnection::on_bluetooth_gatt_read_descriptor_request ( const BluetoothGATTReadDescriptorRequest & msg)

Definition at line 1247 of file api_connection.cpp.

◆ on_bluetooth_gatt_read_request()

void esphome::api::APIConnection::on_bluetooth_gatt_read_request ( const BluetoothGATTReadRequest & msg)

Definition at line 1241 of file api_connection.cpp.

◆ on_bluetooth_gatt_write_descriptor_request()

void esphome::api::APIConnection::on_bluetooth_gatt_write_descriptor_request ( const BluetoothGATTWriteDescriptorRequest & msg)

Definition at line 1250 of file api_connection.cpp.

◆ on_bluetooth_gatt_write_request()

void esphome::api::APIConnection::on_bluetooth_gatt_write_request ( const BluetoothGATTWriteRequest & msg)

Definition at line 1244 of file api_connection.cpp.

◆ on_bluetooth_scanner_set_mode_request()

void esphome::api::APIConnection::on_bluetooth_scanner_set_mode_request ( const BluetoothScannerSetModeRequest & msg)

Definition at line 1271 of file api_connection.cpp.

◆ on_bluetooth_set_connection_params_request()

void esphome::api::APIConnection::on_bluetooth_set_connection_params_request ( const BluetoothSetConnectionParamsRequest & msg)

Definition at line 1275 of file api_connection.cpp.

◆ on_button_command_request()

void esphome::api::APIConnection::on_button_command_request ( const ButtonCommandRequest & msg)

Definition at line 1006 of file api_connection.cpp.

◆ on_camera_image_request()

void esphome::api::APIConnection::on_camera_image_request ( const CameraImageRequest & msg)

Definition at line 1179 of file api_connection.cpp.

◆ on_climate_command_request()

void esphome::api::APIConnection::on_climate_command_request ( const ClimateCommandRequest & msg)

Definition at line 812 of file api_connection.cpp.

◆ on_cover_command_request()

void esphome::api::APIConnection::on_cover_command_request ( const CoverCommandRequest & msg)

Definition at line 529 of file api_connection.cpp.

◆ on_date_command_request()

void esphome::api::APIConnection::on_date_command_request ( const DateCommandRequest & msg)

Definition at line 886 of file api_connection.cpp.

◆ on_date_time_command_request()

void esphome::api::APIConnection::on_date_time_command_request ( const DateTimeCommandRequest & msg)

Definition at line 938 of file api_connection.cpp.

◆ on_device_info_request()

void esphome::api::APIConnection::on_device_info_request ( )

Definition at line 1938 of file api_connection.cpp.

◆ on_disconnect_request()

void esphome::api::APIConnection::on_disconnect_request ( const DisconnectRequest & msg)

Definition at line 1927 of file api_connection.cpp.

◆ on_disconnect_response()

void esphome::api::APIConnection::on_disconnect_response ( )

Definition at line 434 of file api_connection.cpp.

◆ on_execute_service_request()

void esphome::api::APIConnection::on_execute_service_request ( const ExecuteServiceRequest & msg)

Definition at line 1976 of file api_connection.cpp.

◆ on_fan_command_request()

void esphome::api::APIConnection::on_fan_command_request ( const FanCommandRequest & msg)

Definition at line 572 of file api_connection.cpp.

◆ on_fatal_error()

void esphome::api::APIConnection::on_fatal_error ( )

Definition at line 2169 of file api_connection.cpp.

◆ on_get_time_response()

void esphome::api::APIConnection::on_get_time_response ( const GetTimeResponse & value)

Definition at line 1195 of file api_connection.cpp.

◆ on_hello_request()

void esphome::api::APIConnection::on_hello_request ( const HelloRequest & msg)

Definition at line 1922 of file api_connection.cpp.

◆ on_home_assistant_state_response()

void esphome::api::APIConnection::on_home_assistant_state_response ( const HomeAssistantStateResponse & msg)

Definition at line 1945 of file api_connection.cpp.

◆ on_homeassistant_action_response()

void esphome::api::APIConnection::on_homeassistant_action_response ( const HomeassistantActionResponse & msg)

Definition at line 2039 of file api_connection.cpp.

◆ on_infrared_rf_transmit_raw_timings_request()

void esphome::api::APIConnection::on_infrared_rf_transmit_raw_timings_request ( const InfraredRFTransmitRawTimingsRequest & msg)

Definition at line 1521 of file api_connection.cpp.

◆ on_light_command_request()

void esphome::api::APIConnection::on_light_command_request ( const LightCommandRequest & msg)

Definition at line 640 of file api_connection.cpp.

◆ on_list_entities_request()

void esphome::api::APIConnection::on_list_entities_request ( )
inline

Definition at line 269 of file api_connection.h.

◆ on_lock_command_request()

void esphome::api::APIConnection::on_lock_command_request ( const LockCommandRequest & msg)

Definition at line 1032 of file api_connection.cpp.

◆ on_media_player_command_request()

void esphome::api::APIConnection::on_media_player_command_request ( const MediaPlayerCommandRequest & msg)

Definition at line 1112 of file api_connection.cpp.

◆ on_no_setup_connection()

void esphome::api::APIConnection::on_no_setup_connection ( )

Definition at line 2165 of file api_connection.cpp.

◆ on_noise_encryption_set_key_request()

void esphome::api::APIConnection::on_noise_encryption_set_key_request ( const NoiseEncryptionSetKeyRequest & msg)

Definition at line 2093 of file api_connection.cpp.

◆ on_number_command_request()

void esphome::api::APIConnection::on_number_command_request ( const NumberCommandRequest & msg)

Definition at line 861 of file api_connection.cpp.

◆ on_ping_request()

void esphome::api::APIConnection::on_ping_request ( )

Definition at line 1933 of file api_connection.cpp.

◆ on_ping_response()

void esphome::api::APIConnection::on_ping_response ( )
inline

Definition at line 255 of file api_connection.h.

◆ on_select_command_request()

void esphome::api::APIConnection::on_select_command_request ( const SelectCommandRequest & msg)

Definition at line 993 of file api_connection.cpp.

◆ on_serial_proxy_configure_request()

void esphome::api::APIConnection::on_serial_proxy_configure_request ( const SerialProxyConfigureRequest & msg)

Definition at line 1554 of file api_connection.cpp.

◆ on_serial_proxy_get_modem_pins_request()

void esphome::api::APIConnection::on_serial_proxy_get_modem_pins_request ( const SerialProxyGetModemPinsRequest & msg)

Definition at line 1583 of file api_connection.cpp.

◆ on_serial_proxy_request()

void esphome::api::APIConnection::on_serial_proxy_request ( const SerialProxyRequest & msg)

Definition at line 1595 of file api_connection.cpp.

◆ on_serial_proxy_set_modem_pins_request()

void esphome::api::APIConnection::on_serial_proxy_set_modem_pins_request ( const SerialProxySetModemPinsRequest & msg)

Definition at line 1574 of file api_connection.cpp.

◆ on_serial_proxy_write_request()

void esphome::api::APIConnection::on_serial_proxy_write_request ( const SerialProxyWriteRequest & msg)

Definition at line 1565 of file api_connection.cpp.

◆ on_subscribe_bluetooth_connections_free_request()

void esphome::api::APIConnection::on_subscribe_bluetooth_connections_free_request ( )

Definition at line 1265 of file api_connection.cpp.

◆ on_subscribe_bluetooth_le_advertisements_request()

void esphome::api::APIConnection::on_subscribe_bluetooth_le_advertisements_request ( const SubscribeBluetoothLEAdvertisementsRequest & msg)

Definition at line 1231 of file api_connection.cpp.

◆ on_subscribe_home_assistant_states_request()

void esphome::api::APIConnection::on_subscribe_home_assistant_states_request ( )

Definition at line 2100 of file api_connection.cpp.

◆ on_subscribe_homeassistant_services_request()

void esphome::api::APIConnection::on_subscribe_homeassistant_services_request ( )
inline

Definition at line 294 of file api_connection.h.

◆ on_subscribe_logs_request()

void esphome::api::APIConnection::on_subscribe_logs_request ( const SubscribeLogsRequest & msg)
inline

Definition at line 278 of file api_connection.h.

◆ on_subscribe_states_request()

void esphome::api::APIConnection::on_subscribe_states_request ( )
inline

Definition at line 270 of file api_connection.h.

◆ on_subscribe_voice_assistant_request()

void esphome::api::APIConnection::on_subscribe_voice_assistant_request ( const SubscribeVoiceAssistantRequest & msg)

Definition at line 1286 of file api_connection.cpp.

◆ on_switch_command_request()

void esphome::api::APIConnection::on_switch_command_request ( const SwitchCommandRequest & msg)

Definition at line 715 of file api_connection.cpp.

◆ on_text_command_request()

void esphome::api::APIConnection::on_text_command_request ( const TextCommandRequest & msg)

Definition at line 967 of file api_connection.cpp.

◆ on_time_command_request()

void esphome::api::APIConnection::on_time_command_request ( const TimeCommandRequest & msg)

Definition at line 911 of file api_connection.cpp.

◆ on_unsubscribe_bluetooth_le_advertisements_request()

void esphome::api::APIConnection::on_unsubscribe_bluetooth_le_advertisements_request ( )

Definition at line 1235 of file api_connection.cpp.

◆ on_update_command_request()

void esphome::api::APIConnection::on_update_command_request ( const UpdateCommandRequest & msg)

Definition at line 1686 of file api_connection.cpp.

◆ on_valve_command_request()

void esphome::api::APIConnection::on_valve_command_request ( const ValveCommandRequest & msg)

Definition at line 1069 of file api_connection.cpp.

◆ on_voice_assistant_announce_request()

void esphome::api::APIConnection::on_voice_assistant_announce_request ( const VoiceAssistantAnnounceRequest & msg)

Definition at line 1326 of file api_connection.cpp.

◆ on_voice_assistant_audio()

void esphome::api::APIConnection::on_voice_assistant_audio ( const VoiceAssistantAudio & msg)

Definition at line 1315 of file api_connection.cpp.

◆ on_voice_assistant_configuration_request()

void esphome::api::APIConnection::on_voice_assistant_configuration_request ( const VoiceAssistantConfigurationRequest & msg)

Definition at line 1372 of file api_connection.cpp.

◆ on_voice_assistant_event_response()

void esphome::api::APIConnection::on_voice_assistant_event_response ( const VoiceAssistantEventResponse & msg)

Definition at line 1310 of file api_connection.cpp.

◆ on_voice_assistant_response()

void esphome::api::APIConnection::on_voice_assistant_response ( const VoiceAssistantResponse & msg)

Definition at line 1291 of file api_connection.cpp.

◆ on_voice_assistant_set_configuration()

void esphome::api::APIConnection::on_voice_assistant_set_configuration ( const VoiceAssistantSetConfiguration & msg)

Definition at line 1378 of file api_connection.cpp.

◆ on_voice_assistant_timer_event_response()

void esphome::api::APIConnection::on_voice_assistant_timer_event_response ( const VoiceAssistantTimerEventResponse & msg)

Definition at line 1320 of file api_connection.cpp.

◆ on_water_heater_command_request()

void esphome::api::APIConnection::on_water_heater_command_request ( const WaterHeaterCommandRequest & msg)

Definition at line 1476 of file api_connection.cpp.

◆ on_z_wave_proxy_frame()

void esphome::api::APIConnection::on_z_wave_proxy_frame ( const ZWaveProxyFrame & msg)

Definition at line 1386 of file api_connection.cpp.

◆ on_z_wave_proxy_request()

void esphome::api::APIConnection::on_z_wave_proxy_request ( const ZWaveProxyRequest & msg)

Definition at line 1390 of file api_connection.cpp.

◆ prepare_first_message_buffer() [1/2]

void esphome::api::APIConnection::prepare_first_message_buffer ( APIBuffer & shared_buf,
size_t header_padding,
size_t total_size )
inline

Definition at line 345 of file api_connection.h.

◆ prepare_first_message_buffer() [2/2]

void esphome::api::APIConnection::prepare_first_message_buffer ( APIBuffer & shared_buf,
size_t payload_size )
inline

Definition at line 356 of file api_connection.h.

◆ process_batch_()

void esphome::api::APIConnection::process_batch_ ( )
protected

Definition at line 2205 of file api_connection.cpp.

◆ process_batch_multi_()

void esphome::api::APIConnection::process_batch_multi_ ( APIBuffer & shared_buf,
size_t num_items,
uint8_t header_padding,
uint8_t footer_size )
protected

Definition at line 2270 of file api_connection.cpp.

◆ process_iterator_batch_()

void esphome::api::APIConnection::process_iterator_batch_ ( ComponentIterator & iterator)
protected

Definition at line 411 of file api_connection.cpp.

◆ process_state_subscriptions_()

void esphome::api::APIConnection::process_state_subscriptions_ ( )
protected

Definition at line 2499 of file api_connection.cpp.

◆ read_message_()

void esphome::api::APIConnection::read_message_ ( uint32_t msg_size,
uint32_t msg_type,
const uint8_t * msg_data )
protected

Definition at line 25 of file api_pb2_service.cpp.

◆ schedule_batch_()

bool esphome::api::APIConnection::schedule_batch_ ( )
protected

Definition at line 2197 of file api_connection.cpp.

◆ schedule_message_()

bool esphome::api::APIConnection::schedule_message_ ( EntityBase * entity,
uint8_t message_type,
uint8_t estimated_size,
uint8_t aux_data_index = DeferredBatch::AUX_DATA_UNUSED )
inlineprotected

Definition at line 825 of file api_connection.h.

◆ schedule_message_front_()

bool esphome::api::APIConnection::schedule_message_front_ ( EntityBase * entity,
uint8_t message_type,
uint8_t estimated_size )
protected

Definition at line 2175 of file api_connection.cpp.

◆ send_alarm_control_panel_state()

bool esphome::api::APIConnection::send_alarm_control_panel_state ( alarm_control_panel::AlarmControlPanel * a_alarm_control_panel)

Definition at line 1396 of file api_connection.cpp.

◆ send_binary_sensor_state()

bool esphome::api::APIConnection::send_binary_sensor_state ( binary_sensor::BinarySensor * binary_sensor)

Definition at line 484 of file api_connection.cpp.

◆ send_buffer()

bool esphome::api::APIConnection::send_buffer ( ProtoWriteBuffer buffer,
uint8_t message_type )

Definition at line 2145 of file api_connection.cpp.

◆ send_climate_state()

bool esphome::api::APIConnection::send_climate_state ( climate::Climate * climate)

Definition at line 747 of file api_connection.cpp.

◆ send_cover_state()

bool esphome::api::APIConnection::send_cover_state ( cover::Cover * cover)

Definition at line 506 of file api_connection.cpp.

◆ send_date_state()

bool esphome::api::APIConnection::send_date_state ( datetime::DateEntity * date)

Definition at line 869 of file api_connection.cpp.

◆ send_datetime_state()

bool esphome::api::APIConnection::send_datetime_state ( datetime::DateTimeEntity * datetime)

Definition at line 919 of file api_connection.cpp.

◆ send_device_info_response_()

bool esphome::api::APIConnection::send_device_info_response_ ( )
protected

Definition at line 1782 of file api_connection.cpp.

◆ send_disconnect_response_()

bool esphome::api::APIConnection::send_disconnect_response_ ( )
protected

Definition at line 425 of file api_connection.cpp.

◆ send_event()

void esphome::api::APIConnection::send_event ( event::Event * event)

Definition at line 1501 of file api_connection.cpp.

◆ send_execute_service_response() [1/2]

void esphome::api::APIConnection::send_execute_service_response ( uint32_t call_id,
bool success,
StringRef error_message )

Definition at line 2016 of file api_connection.cpp.

◆ send_execute_service_response() [2/2]

void esphome::api::APIConnection::send_execute_service_response ( uint32_t call_id,
bool success,
StringRef error_message,
const uint8_t * response_data,
size_t response_data_len )

Definition at line 2024 of file api_connection.cpp.

◆ send_fan_state()

bool esphome::api::APIConnection::send_fan_state ( fan::Fan * fan)

Definition at line 542 of file api_connection.cpp.

◆ send_hello_response_()

bool esphome::api::APIConnection::send_hello_response_ ( const HelloRequest & msg)
protected

Definition at line 1742 of file api_connection.cpp.

◆ send_homeassistant_action()

bool esphome::api::APIConnection::send_homeassistant_action ( const HomeassistantActionRequest & call)
inline

Definition at line 172 of file api_connection.h.

◆ send_infrared_rf_receive_event()

void esphome::api::APIConnection::send_infrared_rf_receive_event ( const InfraredRFReceiveEvent & msg)

Definition at line 1550 of file api_connection.cpp.

◆ send_light_state()

bool esphome::api::APIConnection::send_light_state ( light::LightState * light)

Definition at line 591 of file api_connection.cpp.

◆ send_list_info_done()

bool esphome::api::APIConnection::send_list_info_done ( )
inline

Definition at line 91 of file api_connection.h.

◆ send_lock_state()

bool esphome::api::APIConnection::send_lock_state ( lock::Lock * a_lock)

Definition at line 1013 of file api_connection.cpp.

◆ send_media_player_state()

bool esphome::api::APIConnection::send_media_player_state ( media_player::MediaPlayer * media_player)

Definition at line 1080 of file api_connection.cpp.

◆ send_message()

template<typename T >
bool esphome::api::APIConnection::send_message ( const T & msg)
inline

Definition at line 337 of file api_connection.h.

◆ send_message_()

bool esphome::api::APIConnection::send_message_ ( uint32_t payload_size,
uint8_t message_type,
MessageEncodeFn encode_fn,
const void * msg )
protected

Definition at line 2116 of file api_connection.cpp.

◆ send_message_smart_()

bool esphome::api::APIConnection::send_message_smart_ ( EntityBase * entity,
uint8_t message_type,
uint8_t estimated_size,
uint8_t aux_data_index = DeferredBatch::AUX_DATA_UNUSED )
protected

Definition at line 2180 of file api_connection.cpp.

◆ send_noise_encryption_set_key_response_()

bool esphome::api::APIConnection::send_noise_encryption_set_key_response_ ( const NoiseEncryptionSetKeyRequest & msg)
protected

Definition at line 2052 of file api_connection.cpp.

◆ send_number_state()

bool esphome::api::APIConnection::send_number_state ( number::Number * number)

Definition at line 839 of file api_connection.cpp.

◆ send_ping_response_()

bool esphome::api::APIConnection::send_ping_response_ ( )
protected

Definition at line 1777 of file api_connection.cpp.

◆ send_select_state()

bool esphome::api::APIConnection::send_select_state ( select::Select * select)

Definition at line 975 of file api_connection.cpp.

◆ send_sensor_state()

bool esphome::api::APIConnection::send_sensor_state ( sensor::Sensor * sensor)

Definition at line 674 of file api_connection.cpp.

◆ send_serial_proxy_data()

void esphome::api::APIConnection::send_serial_proxy_data ( const SerialProxyDataReceived & msg)

Definition at line 1633 of file api_connection.cpp.

◆ send_subscribe_bluetooth_connections_free_response_()

bool esphome::api::APIConnection::send_subscribe_bluetooth_connections_free_response_ ( )
protected

Definition at line 1261 of file api_connection.cpp.

◆ send_switch_state()

bool esphome::api::APIConnection::send_switch_state ( switch_::Switch * a_switch)

Definition at line 698 of file api_connection.cpp.

◆ send_text_sensor_state()

bool esphome::api::APIConnection::send_text_sensor_state ( text_sensor::TextSensor * text_sensor)

Definition at line 727 of file api_connection.cpp.

◆ send_text_state()

bool esphome::api::APIConnection::send_text_state ( text::Text * text)

Definition at line 946 of file api_connection.cpp.

◆ send_time_request()

void esphome::api::APIConnection::send_time_request ( )
inline

Definition at line 199 of file api_connection.h.

◆ send_time_state()

bool esphome::api::APIConnection::send_time_state ( datetime::TimeEntity * time)

Definition at line 894 of file api_connection.cpp.

◆ send_update_state()

bool esphome::api::APIConnection::send_update_state ( update::UpdateEntity * update)

Definition at line 1660 of file api_connection.cpp.

◆ send_valve_state()

bool esphome::api::APIConnection::send_valve_state ( valve::Valve * valve)

Definition at line 1050 of file api_connection.cpp.

◆ send_voice_assistant_get_configuration_response_()

bool esphome::api::APIConnection::send_voice_assistant_get_configuration_response_ ( const VoiceAssistantConfigurationRequest & msg)
protected

Definition at line 1332 of file api_connection.cpp.

◆ send_water_heater_state()

bool esphome::api::APIConnection::send_water_heater_state ( water_heater::WaterHeater * water_heater)

Definition at line 1447 of file api_connection.cpp.

◆ set_camera_state()

void esphome::api::APIConnection::set_camera_state ( std::shared_ptr< camera::CameraImage > image)

Definition at line 1161 of file api_connection.cpp.

◆ should_send_immediately_()

bool esphome::api::APIConnection::should_send_immediately_ ( uint8_t message_type) const
inlineprotected

Definition at line 807 of file api_connection.h.

◆ start()

void esphome::api::APIConnection::start ( )

Definition at line 162 of file api_connection.cpp.

◆ try_send_alarm_control_panel_info()

uint16_t esphome::api::APIConnection::try_send_alarm_control_panel_info ( EntityBase * entity,
APIConnection * conn,
uint32_t remaining_size )
staticprotected

Definition at line 1407 of file api_connection.cpp.

◆ try_send_alarm_control_panel_state()

uint16_t esphome::api::APIConnection::try_send_alarm_control_panel_state ( EntityBase * entity,
APIConnection * conn,
uint32_t remaining_size )
staticprotected

Definition at line 1400 of file api_connection.cpp.

◆ try_send_binary_sensor_info()

uint16_t esphome::api::APIConnection::try_send_binary_sensor_info ( EntityBase * entity,
APIConnection * conn,
uint32_t remaining_size )
staticprotected

Definition at line 497 of file api_connection.cpp.

◆ try_send_binary_sensor_state()

uint16_t esphome::api::APIConnection::try_send_binary_sensor_state ( EntityBase * entity,
APIConnection * conn,
uint32_t remaining_size )
staticprotected

Definition at line 489 of file api_connection.cpp.

◆ try_send_button_info()

uint16_t esphome::api::APIConnection::try_send_button_info ( EntityBase * entity,
APIConnection * conn,
uint32_t remaining_size )
staticprotected

Definition at line 1001 of file api_connection.cpp.

◆ try_send_camera_image_()

void esphome::api::APIConnection::try_send_camera_image_ ( )
protected

Definition at line 1131 of file api_connection.cpp.

◆ try_send_camera_info()

uint16_t esphome::api::APIConnection::try_send_camera_info ( EntityBase * entity,
APIConnection * conn,
uint32_t remaining_size )
staticprotected

Definition at line 1174 of file api_connection.cpp.

◆ try_send_climate_info()

uint16_t esphome::api::APIConnection::try_send_climate_info ( EntityBase * entity,
APIConnection * conn,
uint32_t remaining_size )
staticprotected

Definition at line 784 of file api_connection.cpp.

◆ try_send_climate_state()

uint16_t esphome::api::APIConnection::try_send_climate_state ( EntityBase * entity,
APIConnection * conn,
uint32_t remaining_size )
staticprotected

Definition at line 750 of file api_connection.cpp.

◆ try_send_cover_info()

uint16_t esphome::api::APIConnection::try_send_cover_info ( EntityBase * entity,
APIConnection * conn,
uint32_t remaining_size )
staticprotected

Definition at line 519 of file api_connection.cpp.

◆ try_send_cover_state()

uint16_t esphome::api::APIConnection::try_send_cover_state ( EntityBase * entity,
APIConnection * conn,
uint32_t remaining_size )
staticprotected

Definition at line 509 of file api_connection.cpp.

◆ try_send_date_info()

uint16_t esphome::api::APIConnection::try_send_date_info ( EntityBase * entity,
APIConnection * conn,
uint32_t remaining_size )
staticprotected

Definition at line 881 of file api_connection.cpp.

◆ try_send_date_state()

uint16_t esphome::api::APIConnection::try_send_date_state ( EntityBase * entity,
APIConnection * conn,
uint32_t remaining_size )
staticprotected

Definition at line 872 of file api_connection.cpp.

◆ try_send_datetime_info()

uint16_t esphome::api::APIConnection::try_send_datetime_info ( EntityBase * entity,
APIConnection * conn,
uint32_t remaining_size )
staticprotected

Definition at line 933 of file api_connection.cpp.

◆ try_send_datetime_state()

uint16_t esphome::api::APIConnection::try_send_datetime_state ( EntityBase * entity,
APIConnection * conn,
uint32_t remaining_size )
staticprotected

Definition at line 923 of file api_connection.cpp.

◆ try_send_disconnect_request()

uint16_t esphome::api::APIConnection::try_send_disconnect_request ( EntityBase * entity,
APIConnection * conn,
uint32_t remaining_size )
staticprotected

Definition at line 2488 of file api_connection.cpp.

◆ try_send_event_info()

uint16_t esphome::api::APIConnection::try_send_event_info ( EntityBase * entity,
APIConnection * conn,
uint32_t remaining_size )
staticprotected

Definition at line 1512 of file api_connection.cpp.

◆ try_send_event_response()

uint16_t esphome::api::APIConnection::try_send_event_response ( event::Event * event,
StringRef event_type,
APIConnection * conn,
uint32_t remaining_size )
staticprotected

Definition at line 1505 of file api_connection.cpp.

◆ try_send_fan_info()

uint16_t esphome::api::APIConnection::try_send_fan_info ( EntityBase * entity,
APIConnection * conn,
uint32_t remaining_size )
staticprotected

Definition at line 561 of file api_connection.cpp.

◆ try_send_fan_state()

uint16_t esphome::api::APIConnection::try_send_fan_state ( EntityBase * entity,
APIConnection * conn,
uint32_t remaining_size )
staticprotected

Definition at line 545 of file api_connection.cpp.

◆ try_send_infrared_info()

uint16_t esphome::api::APIConnection::try_send_infrared_info ( EntityBase * entity,
APIConnection * conn,
uint32_t remaining_size )
staticprotected

Definition at line 1637 of file api_connection.cpp.

◆ try_send_light_info()

uint16_t esphome::api::APIConnection::try_send_light_info ( EntityBase * entity,
APIConnection * conn,
uint32_t remaining_size )
staticprotected

Definition at line 615 of file api_connection.cpp.

◆ try_send_light_state()

uint16_t esphome::api::APIConnection::try_send_light_state ( EntityBase * entity,
APIConnection * conn,
uint32_t remaining_size )
staticprotected

Definition at line 594 of file api_connection.cpp.

◆ try_send_list_info_done()

uint16_t esphome::api::APIConnection::try_send_list_info_done ( EntityBase * entity,
APIConnection * conn,
uint32_t remaining_size )
staticprotected

Definition at line 2483 of file api_connection.cpp.

◆ try_send_lock_info()

uint16_t esphome::api::APIConnection::try_send_lock_info ( EntityBase * entity,
APIConnection * conn,
uint32_t remaining_size )
staticprotected

Definition at line 1024 of file api_connection.cpp.

◆ try_send_lock_state()

uint16_t esphome::api::APIConnection::try_send_lock_state ( EntityBase * entity,
APIConnection * conn,
uint32_t remaining_size )
staticprotected

Definition at line 1017 of file api_connection.cpp.

◆ try_send_log_message()

bool esphome::api::APIConnection::try_send_log_message ( int level,
const char * tag,
const char * line,
size_t message_len )

Definition at line 1706 of file api_connection.cpp.

◆ try_send_media_player_info()

uint16_t esphome::api::APIConnection::try_send_media_player_info ( EntityBase * entity,
APIConnection * conn,
uint32_t remaining_size )
staticprotected

Definition at line 1095 of file api_connection.cpp.

◆ try_send_media_player_state()

uint16_t esphome::api::APIConnection::try_send_media_player_state ( EntityBase * entity,
APIConnection * conn,
uint32_t remaining_size )
staticprotected

Definition at line 1084 of file api_connection.cpp.

◆ try_send_number_info()

uint16_t esphome::api::APIConnection::try_send_number_info ( EntityBase * entity,
APIConnection * conn,
uint32_t remaining_size )
staticprotected

Definition at line 851 of file api_connection.cpp.

◆ try_send_number_state()

uint16_t esphome::api::APIConnection::try_send_number_state ( EntityBase * entity,
APIConnection * conn,
uint32_t remaining_size )
staticprotected

Definition at line 843 of file api_connection.cpp.

◆ try_send_ping_request()

uint16_t esphome::api::APIConnection::try_send_ping_request ( EntityBase * entity,
APIConnection * conn,
uint32_t remaining_size )
staticprotected

Definition at line 2493 of file api_connection.cpp.

◆ try_send_radio_frequency_info()

uint16_t esphome::api::APIConnection::try_send_radio_frequency_info ( EntityBase * entity,
APIConnection * conn,
uint32_t remaining_size )
staticprotected

Definition at line 1647 of file api_connection.cpp.

◆ try_send_select_info()

uint16_t esphome::api::APIConnection::try_send_select_info ( EntityBase * entity,
APIConnection * conn,
uint32_t remaining_size )
staticprotected

Definition at line 987 of file api_connection.cpp.

◆ try_send_select_state()

uint16_t esphome::api::APIConnection::try_send_select_state ( EntityBase * entity,
APIConnection * conn,
uint32_t remaining_size )
staticprotected

Definition at line 979 of file api_connection.cpp.

◆ try_send_sensor_info()

uint16_t esphome::api::APIConnection::try_send_sensor_info ( EntityBase * entity,
APIConnection * conn,
uint32_t remaining_size )
staticprotected

Definition at line 686 of file api_connection.cpp.

◆ try_send_sensor_state()

uint16_t esphome::api::APIConnection::try_send_sensor_state ( EntityBase * entity,
APIConnection * conn,
uint32_t remaining_size )
staticprotected

Definition at line 678 of file api_connection.cpp.

◆ try_send_switch_info()

uint16_t esphome::api::APIConnection::try_send_switch_info ( EntityBase * entity,
APIConnection * conn,
uint32_t remaining_size )
staticprotected

Definition at line 709 of file api_connection.cpp.

◆ try_send_switch_state()

uint16_t esphome::api::APIConnection::try_send_switch_state ( EntityBase * entity,
APIConnection * conn,
uint32_t remaining_size )
staticprotected

Definition at line 702 of file api_connection.cpp.

◆ try_send_text_info()

uint16_t esphome::api::APIConnection::try_send_text_info ( EntityBase * entity,
APIConnection * conn,
uint32_t remaining_size )
staticprotected

Definition at line 958 of file api_connection.cpp.

◆ try_send_text_sensor_info()

uint16_t esphome::api::APIConnection::try_send_text_sensor_info ( EntityBase * entity,
APIConnection * conn,
uint32_t remaining_size )
staticprotected

Definition at line 739 of file api_connection.cpp.

◆ try_send_text_sensor_state()

uint16_t esphome::api::APIConnection::try_send_text_sensor_state ( EntityBase * entity,
APIConnection * conn,
uint32_t remaining_size )
staticprotected

Definition at line 732 of file api_connection.cpp.

◆ try_send_text_state()

uint16_t esphome::api::APIConnection::try_send_text_state ( EntityBase * entity,
APIConnection * conn,
uint32_t remaining_size )
staticprotected

Definition at line 950 of file api_connection.cpp.

◆ try_send_time_info()

uint16_t esphome::api::APIConnection::try_send_time_info ( EntityBase * entity,
APIConnection * conn,
uint32_t remaining_size )
staticprotected

Definition at line 906 of file api_connection.cpp.

◆ try_send_time_state()

uint16_t esphome::api::APIConnection::try_send_time_state ( EntityBase * entity,
APIConnection * conn,
uint32_t remaining_size )
staticprotected

Definition at line 897 of file api_connection.cpp.

◆ try_send_update_info()

uint16_t esphome::api::APIConnection::try_send_update_info ( EntityBase * entity,
APIConnection * conn,
uint32_t remaining_size )
staticprotected

Definition at line 1681 of file api_connection.cpp.

◆ try_send_update_state()

uint16_t esphome::api::APIConnection::try_send_update_state ( EntityBase * entity,
APIConnection * conn,
uint32_t remaining_size )
staticprotected

Definition at line 1663 of file api_connection.cpp.

◆ try_send_valve_info()

uint16_t esphome::api::APIConnection::try_send_valve_info ( EntityBase * entity,
APIConnection * conn,
uint32_t remaining_size )
staticprotected

Definition at line 1060 of file api_connection.cpp.

◆ try_send_valve_state()

uint16_t esphome::api::APIConnection::try_send_valve_state ( EntityBase * entity,
APIConnection * conn,
uint32_t remaining_size )
staticprotected

Definition at line 1053 of file api_connection.cpp.

◆ try_send_water_heater_info()

uint16_t esphome::api::APIConnection::try_send_water_heater_info ( EntityBase * entity,
APIConnection * conn,
uint32_t remaining_size )
staticprotected

Definition at line 1463 of file api_connection.cpp.

◆ try_send_water_heater_state()

uint16_t esphome::api::APIConnection::try_send_water_heater_state ( EntityBase * entity,
APIConnection * conn,
uint32_t remaining_size )
staticprotected

Definition at line 1451 of file api_connection.cpp.

◆ try_to_clear_buffer()

bool esphome::api::APIConnection::try_to_clear_buffer ( bool log_out_of_space)
inline

Definition at line 362 of file api_connection.h.

◆ try_to_clear_buffer_slow_()

bool esphome::api::APIConnection::try_to_clear_buffer_slow_ ( bool log_out_of_space)
protected

Definition at line 2102 of file api_connection.cpp.

◆ upgrade_helper_to_noise_()

void esphome::api::APIConnection::upgrade_helper_to_noise_ ( )
protected

Definition at line 202 of file api_connection.cpp.

Field Documentation

◆ active_iterator_

ActiveIterator esphome::api::APIConnection::active_iterator_ {ActiveIterator::NONE}
protected

Definition at line 756 of file api_connection.h.

◆ batch_header_size_

uint8_t esphome::api::APIConnection::batch_header_size_ {0}
protected

Definition at line 762 of file api_connection.h.

◆ batch_message_type_

uint8_t esphome::api::APIConnection::batch_message_type_ {0}
protected

Definition at line 757 of file api_connection.h.

◆ client_api_version_major_

uint16_t esphome::api::APIConnection::client_api_version_major_ {0}
protected

Definition at line 753 of file api_connection.h.

◆ client_api_version_minor_

uint16_t esphome::api::APIConnection::client_api_version_minor_ {0}
protected

Definition at line 754 of file api_connection.h.

◆ deferred_batch_

DeferredBatch esphome::api::APIConnection::deferred_batch_
protected

Definition at line 720 of file api_connection.h.

◆ flags_

struct esphome::api::APIConnection::APIFlags esphome::api::APIConnection::flags_
protected

◆ helper_ [1/3]

std::unique_ptr<APIFrameHelper> esphome::api::APIConnection::helper_
protected

Definition at line 608 of file api_connection.h.

◆ helper_ [2/3]

std::unique_ptr<APINoiseFrameHelper> esphome::api::APIConnection::helper_
protected

Definition at line 610 of file api_connection.h.

◆ helper_ [3/3]

std::unique_ptr<APIPlaintextFrameHelper> esphome::api::APIConnection::helper_
protected

Definition at line 612 of file api_connection.h.

◆ image_reader_

std::unique_ptr<camera::CameraImageReader> esphome::api::APIConnection::image_reader_
protected

Definition at line 639 of file api_connection.h.

◆ iterator_storage_

union esphome::api::APIConnection::IteratorUnion esphome::api::APIConnection::iterator_storage_
protected

◆ last_traffic_

uint32_t esphome::api::APIConnection::last_traffic_
protected

Definition at line 643 of file api_connection.h.

◆ MAX_BATCH_PACKET_SIZE

size_t esphome::api::APIConnection::MAX_BATCH_PACKET_SIZE = 1390
staticconstexprprotected

Definition at line 777 of file api_connection.h.

◆ parent_

APIServer* esphome::api::APIConnection::parent_
protected

Definition at line 614 of file api_connection.h.

◆ state_subs_at_

int esphome::api::APIConnection::state_subs_at_ = -1
protected

Definition at line 645 of file api_connection.h.


The documentation for this class was generated from the following files: