ESPHome 2026.5.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)
 
void 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 ()
 
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 ()
 
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
 
size_t get_max_batch_size_ () 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_ ()
 
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_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 57 of file api_connection.h.

Member Typedef Documentation

◆ CalculateSizeFn

Definition at line 330 of file api_connection.h.

◆ MessageCreatorPtr

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

Definition at line 677 of file api_connection.h.

◆ MessageEncodeFn

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

Definition at line 328 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 652 of file api_connection.h.

◆ ConnectionState

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

Definition at line 751 of file api_connection.h.

Constructor & Destructor Documentation

◆ APIConnection()

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

Definition at line 120 of file api_connection.cpp.

◆ ~APIConnection()

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

Definition at line 156 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 196 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 402 of file api_connection.h.

◆ check_authenticated_()

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

Definition at line 87 of file api_connection.h.

◆ check_connection_setup_()

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

Definition at line 80 of file api_connection.h.

◆ check_voice_assistant_api_connection_()

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

Definition at line 1239 of file api_connection.cpp.

◆ clear_batch_()

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

Definition at line 810 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 319 of file api_connection.h.

◆ complete_authentication_()

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

Definition at line 1637 of file api_connection.cpp.

◆ destroy_active_iterator_()

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

Definition at line 182 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 2245 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 462 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 407 of file api_connection.h.

◆ encode_to_buffer()

static 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 416 of file api_connection.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 2031 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 867 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 399 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 489 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 432 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 502 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 389 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 477 of file api_connection.h.

◆ finalize_iterator_sync_()

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

Definition at line 346 of file api_connection.cpp.

◆ get_batch_delay_ms_()

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

Definition at line 792 of file api_connection.h.

◆ get_log_subscription_level()

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

Definition at line 316 of file api_connection.h.

◆ get_max_batch_size_()

size_t esphome::api::APIConnection::get_max_batch_size_ ( ) const
inlineprotected

Definition at line 517 of file api_connection.h.

◆ get_name()

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

Definition at line 366 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 368 of file api_connection.h.

◆ is_authenticated()

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

Definition at line 308 of file api_connection.h.

◆ is_connection_setup()

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

Definition at line 311 of file api_connection.h.

◆ is_marked_for_removal()

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

Definition at line 315 of file api_connection.h.

◆ log_batch_item_()

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

Definition at line 820 of file api_connection.h.

◆ log_client_()

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

Definition at line 2407 of file api_connection.cpp.

◆ log_warning_()

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

Definition at line 2413 of file api_connection.cpp.

◆ loop()

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

Definition at line 208 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 1371 of file api_connection.cpp.

◆ on_bluetooth_device_request()

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

Definition at line 1196 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 1211 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 1215 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 1205 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 1199 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 1208 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 1202 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 1229 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 1233 of file api_connection.cpp.

◆ on_button_command_request()

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

Definition at line 964 of file api_connection.cpp.

◆ on_camera_image_request()

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

Definition at line 1137 of file api_connection.cpp.

◆ on_climate_command_request()

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

Definition at line 770 of file api_connection.cpp.

◆ on_cover_command_request()

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

Definition at line 488 of file api_connection.cpp.

◆ on_date_command_request()

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

Definition at line 844 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 896 of file api_connection.cpp.

◆ on_device_info_request()

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

Definition at line 1848 of file api_connection.cpp.

◆ on_disconnect_request()

void esphome::api::APIConnection::on_disconnect_request ( )

Definition at line 1838 of file api_connection.cpp.

◆ on_disconnect_response()

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

Definition at line 383 of file api_connection.cpp.

◆ on_execute_service_request()

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

Definition at line 1886 of file api_connection.cpp.

◆ on_fan_command_request()

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

Definition at line 531 of file api_connection.cpp.

◆ on_fatal_error()

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

Definition at line 2059 of file api_connection.cpp.

◆ on_get_time_response()

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

Definition at line 1153 of file api_connection.cpp.

◆ on_hello_request()

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

Definition at line 1833 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 1855 of file api_connection.cpp.

◆ on_homeassistant_action_response()

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

Definition at line 1949 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 1475 of file api_connection.cpp.

◆ on_light_command_request()

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

Definition at line 599 of file api_connection.cpp.

◆ on_list_entities_request()

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

Definition at line 264 of file api_connection.h.

◆ on_lock_command_request()

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

Definition at line 990 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 1070 of file api_connection.cpp.

◆ on_no_setup_connection()

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

Definition at line 2055 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 1983 of file api_connection.cpp.

◆ on_number_command_request()

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

Definition at line 819 of file api_connection.cpp.

◆ on_ping_request()

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

Definition at line 1843 of file api_connection.cpp.

◆ on_ping_response()

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

Definition at line 250 of file api_connection.h.

◆ on_select_command_request()

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

Definition at line 951 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 1491 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 1520 of file api_connection.cpp.

◆ on_serial_proxy_request()

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

Definition at line 1532 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 1511 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 1502 of file api_connection.cpp.

◆ on_subscribe_bluetooth_connections_free_request()

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

Definition at line 1223 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 1189 of file api_connection.cpp.

◆ on_subscribe_home_assistant_states_request()

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

Definition at line 1990 of file api_connection.cpp.

◆ on_subscribe_homeassistant_services_request()

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

Definition at line 289 of file api_connection.h.

◆ on_subscribe_logs_request()

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

Definition at line 273 of file api_connection.h.

◆ on_subscribe_states_request()

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

Definition at line 265 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 1244 of file api_connection.cpp.

◆ on_switch_command_request()

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

Definition at line 674 of file api_connection.cpp.

◆ on_text_command_request()

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

Definition at line 925 of file api_connection.cpp.

◆ on_time_command_request()

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

Definition at line 869 of file api_connection.cpp.

◆ on_unsubscribe_bluetooth_le_advertisements_request()

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

Definition at line 1193 of file api_connection.cpp.

◆ on_update_command_request()

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

Definition at line 1610 of file api_connection.cpp.

◆ on_valve_command_request()

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

Definition at line 1027 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 1284 of file api_connection.cpp.

◆ on_voice_assistant_audio()

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

Definition at line 1273 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 1327 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 1268 of file api_connection.cpp.

◆ on_voice_assistant_response()

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

Definition at line 1249 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 1333 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 1278 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 1430 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 1341 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 1345 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 340 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 351 of file api_connection.h.

◆ process_batch_()

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

Definition at line 2095 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 2160 of file api_connection.cpp.

◆ process_iterator_batch_()

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

Definition at line 360 of file api_connection.cpp.

◆ process_state_subscriptions_()

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

Definition at line 2386 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 24 of file api_pb2_service.cpp.

◆ schedule_batch_()

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

Definition at line 2087 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 852 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 2065 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 1351 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 443 of file api_connection.cpp.

◆ send_buffer()

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

Definition at line 2035 of file api_connection.cpp.

◆ send_climate_state()

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

Definition at line 706 of file api_connection.cpp.

◆ send_cover_state()

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

Definition at line 465 of file api_connection.cpp.

◆ send_date_state()

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

Definition at line 827 of file api_connection.cpp.

◆ send_datetime_state()

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

Definition at line 877 of file api_connection.cpp.

◆ send_device_info_response_()

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

Definition at line 1699 of file api_connection.cpp.

◆ send_disconnect_response_()

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

Definition at line 374 of file api_connection.cpp.

◆ send_event()

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

Definition at line 1455 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 1926 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 1934 of file api_connection.cpp.

◆ send_fan_state()

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

Definition at line 501 of file api_connection.cpp.

◆ send_hello_response_()

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

Definition at line 1666 of file api_connection.cpp.

◆ send_homeassistant_action()

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

Definition at line 168 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 1487 of file api_connection.cpp.

◆ send_light_state()

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

Definition at line 550 of file api_connection.cpp.

◆ send_list_info_done()

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

Definition at line 90 of file api_connection.h.

◆ send_lock_state()

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

Definition at line 971 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 1038 of file api_connection.cpp.

◆ send_message()

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

Definition at line 332 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 2006 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 2070 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 1962 of file api_connection.cpp.

◆ send_number_state()

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

Definition at line 797 of file api_connection.cpp.

◆ send_ping_response_()

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

Definition at line 1694 of file api_connection.cpp.

◆ send_select_state()

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

Definition at line 933 of file api_connection.cpp.

◆ send_sensor_state()

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

Definition at line 633 of file api_connection.cpp.

◆ send_serial_proxy_data()

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

Definition at line 1570 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 1219 of file api_connection.cpp.

◆ send_switch_state()

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

Definition at line 657 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 686 of file api_connection.cpp.

◆ send_text_state()

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

Definition at line 904 of file api_connection.cpp.

◆ send_time_request()

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

Definition at line 194 of file api_connection.h.

◆ send_time_state()

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

Definition at line 852 of file api_connection.cpp.

◆ send_update_state()

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

Definition at line 1584 of file api_connection.cpp.

◆ send_valve_state()

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

Definition at line 1008 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 1290 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 1402 of file api_connection.cpp.

◆ set_camera_state()

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

Definition at line 1119 of file api_connection.cpp.

◆ should_send_immediately_()

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

Definition at line 834 of file api_connection.h.

◆ start()

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

Definition at line 143 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 1362 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 1355 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 456 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 448 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 959 of file api_connection.cpp.

◆ try_send_camera_image_()

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

Definition at line 1089 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 1132 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 743 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 709 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 478 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 468 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 839 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 830 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 891 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 881 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 2375 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 1466 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 1459 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 520 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 504 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 1574 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 574 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 553 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 2370 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 982 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 975 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 1630 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 1053 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 1042 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 809 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 801 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 2380 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 945 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 937 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 645 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 637 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 668 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 661 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 916 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 698 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 691 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 908 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 864 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 855 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 1605 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 1587 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 1018 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 1011 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 1418 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 1406 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 357 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 1992 of file api_connection.cpp.

Field Documentation

◆ active_iterator_

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

Definition at line 784 of file api_connection.h.

◆ batch_header_size_

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

Definition at line 790 of file api_connection.h.

◆ batch_message_type_

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

Definition at line 785 of file api_connection.h.

◆ client_api_version_major_

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

Definition at line 781 of file api_connection.h.

◆ client_api_version_minor_

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

Definition at line 782 of file api_connection.h.

◆ deferred_batch_

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

Definition at line 748 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 641 of file api_connection.h.

◆ helper_ [2/3]

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

Definition at line 643 of file api_connection.h.

◆ helper_ [3/3]

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

Definition at line 645 of file api_connection.h.

◆ image_reader_

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

Definition at line 667 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 671 of file api_connection.h.

◆ MAX_BATCH_PACKET_SIZE

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

Definition at line 804 of file api_connection.h.

◆ parent_

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

Definition at line 647 of file api_connection.h.

◆ state_subs_at_

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

Definition at line 673 of file api_connection.h.


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