ESPHome  2024.11.1
Public Member Functions | Protected Member Functions | Protected Attributes
esphome::udp::UDPComponent Class Reference

#include <udp_component.h>

Inheritance diagram for esphome::udp::UDPComponent:
esphome::PollingComponent esphome::Component

Public Member Functions

void setup () override
 
void loop () override
 
void update () override
 
void dump_config () override
 
void add_sensor (const char *id, sensor::Sensor *sensor)
 
void add_remote_sensor (const char *hostname, const char *remote_id, sensor::Sensor *sensor)
 
void add_binary_sensor (const char *id, binary_sensor::BinarySensor *sensor)
 
void add_remote_binary_sensor (const char *hostname, const char *remote_id, binary_sensor::BinarySensor *sensor)
 
void add_address (const char *addr)
 
void set_port (uint16_t port)
 
float get_setup_priority () const override
 
void add_provider (const char *hostname)
 
void set_encryption_key (std::vector< uint8_t > key)
 
void set_rolling_code_enable (bool enable)
 
void set_ping_pong_enable (bool enable)
 
void set_ping_pong_recycle_time (uint32_t recycle_time)
 
void set_provider_encryption (const char *name, std::vector< uint8_t > key)
 
- Public Member Functions inherited from esphome::PollingComponent
 PollingComponent ()
 
 PollingComponent (uint32_t update_interval)
 Initialize this polling component with the given update interval in ms. More...
 
virtual void set_update_interval (uint32_t update_interval)
 Manually set the update interval in ms for this polling object. More...
 
void call_setup () override
 
virtual uint32_t get_update_interval () const
 Get the update interval in ms of this sensor. More...
 
void start_poller ()
 
void stop_poller ()
 
- Public Member Functions inherited from esphome::Component
float get_actual_setup_priority () const
 
void set_setup_priority (float priority)
 
virtual float get_loop_priority () const
 priority of loop(). More...
 
void call ()
 
virtual void on_shutdown ()
 
virtual void on_safe_shutdown ()
 
uint32_t get_component_state () const
 
virtual void mark_failed ()
 Mark this component as failed. More...
 
bool is_failed () const
 
bool is_ready () const
 
virtual bool can_proceed ()
 
bool status_has_warning () const
 
bool status_has_error () const
 
void status_set_warning (const char *message="unspecified")
 
void status_set_error (const char *message="unspecified")
 
void status_clear_warning ()
 
void status_clear_error ()
 
void status_momentary_warning (const std::string &name, uint32_t length=5000)
 
void status_momentary_error (const std::string &name, uint32_t length=5000)
 
bool has_overridden_loop () const
 
void set_component_source (const char *source)
 Set where this component was loaded from for some debug messages. More...
 
const char * get_component_source () const
 Get the integration where this component was declared as a string. More...
 

Protected Member Functions

void send_data_ (bool all)
 
void process_ (uint8_t *buf, size_t len)
 Process a received packet. More...
 
void flush_ ()
 
void add_data_ (uint8_t key, const char *id, float data)
 
void add_data_ (uint8_t key, const char *id, uint32_t data)
 
void increment_code_ ()
 
void add_binary_data_ (uint8_t key, const char *id, bool data)
 
void init_data_ ()
 
void add_key_ (const char *name, uint32_t key)
 
void send_ping_pong_request_ ()
 
void send_packet_ (void *data, size_t len)
 
void process_ping_request_ (const char *name, uint8_t *ptr, size_t len)
 
bool is_encrypted_ ()
 
- Protected Member Functions inherited from esphome::Component
virtual void call_loop ()
 
virtual void call_dump_config ()
 
void set_interval (const std::string &name, uint32_t interval, std::function< void()> &&f)
 Set an interval function with a unique name. More...
 
void set_interval (uint32_t interval, std::function< void()> &&f)
 
bool cancel_interval (const std::string &name)
 Cancel an interval function. More...
 
void set_retry (const std::string &name, uint32_t initial_wait_time, uint8_t max_attempts, std::function< RetryResult(uint8_t)> &&f, float backoff_increase_factor=1.0f)
 Set an retry function with a unique name. More...
 
void set_retry (uint32_t initial_wait_time, uint8_t max_attempts, std::function< RetryResult(uint8_t)> &&f, float backoff_increase_factor=1.0f)
 
bool cancel_retry (const std::string &name)
 Cancel a retry function. More...
 
void set_timeout (const std::string &name, uint32_t timeout, std::function< void()> &&f)
 Set a timeout function with a unique name. More...
 
void set_timeout (uint32_t timeout, std::function< void()> &&f)
 
bool cancel_timeout (const std::string &name)
 Cancel a timeout function. More...
 
void defer (const std::string &name, std::function< void()> &&f)
 Defer a callback to the next loop() call. More...
 
void defer (std::function< void()> &&f)
 Defer a callback to the next loop() call. More...
 
bool cancel_defer (const std::string &name)
 Cancel a defer callback using the specified name, name must not be empty. More...
 

Protected Attributes

bool updated_ {}
 
uint16_t port_ {18511}
 
uint32_t ping_key_ {}
 
uint32_t rolling_code_ [2] {}
 
bool rolling_code_enable_ {}
 
bool ping_pong_enable_ {}
 
uint32_t ping_pong_recyle_time_ {}
 
uint32_t last_key_time_ {}
 
bool resend_ping_key_ {}
 
bool resend_data_ {}
 
bool should_send_ {}
 
const char * name_ {}
 
bool should_listen_ {}
 
ESPPreferenceObject pref_
 
std::unique_ptr< socket::Socketbroadcast_socket_ = nullptr
 
std::unique_ptr< socket::Socketlisten_socket_ = nullptr
 
std::vector< struct sockaddrsockaddrs_ {}
 
std::vector< IPAddress > ipaddrs_ {}
 
WiFiUDP udp_client_ {}
 
std::vector< uint8_t > encryption_key_ {}
 
std::vector< std::string > addresses_ {}
 
std::vector< Sensorsensors_ {}
 
std::map< std::string, std::map< std::string, sensor::Sensor * > > remote_sensors_ {}
 
std::vector< BinarySensorbinary_sensors_ {}
 
std::map< std::string, std::map< std::string, binary_sensor::BinarySensor * > > remote_binary_sensors_ {}
 
std::map< std::string, Providerproviders_ {}
 
std::vector< uint8_t > ping_header_ {}
 
std::vector< uint8_t > header_ {}
 
std::vector< uint8_t > data_ {}
 
std::map< const char *, uint32_t > ping_keys_ {}
 
- Protected Attributes inherited from esphome::PollingComponent
uint32_t update_interval_
 
- Protected Attributes inherited from esphome::Component
uint32_t component_state_ {0x0000}
 State of this component. More...
 
float setup_priority_override_ {NAN}
 
const char * component_source_ {nullptr}
 

Detailed Description

Definition at line 43 of file udp_component.h.

Member Function Documentation

◆ add_address()

void esphome::udp::UDPComponent::add_address ( const char *  addr)
inline

Definition at line 71 of file udp_component.h.

◆ add_binary_data_()

void esphome::udp::UDPComponent::add_binary_data_ ( uint8_t  key,
const char *  id,
bool  data 
)
protected

Definition at line 310 of file udp_component.cpp.

◆ add_binary_sensor()

void esphome::udp::UDPComponent::add_binary_sensor ( const char *  id,
binary_sensor::BinarySensor sensor 
)
inline

Definition at line 61 of file udp_component.h.

◆ add_data_() [1/2]

void esphome::udp::UDPComponent::add_data_ ( uint8_t  key,
const char *  id,
float  data 
)
protected

Definition at line 319 of file udp_component.cpp.

◆ add_data_() [2/2]

void esphome::udp::UDPComponent::add_data_ ( uint8_t  key,
const char *  id,
uint32_t  data 
)
protected

Definition at line 324 of file udp_component.cpp.

◆ add_key_()

void esphome::udp::UDPComponent::add_key_ ( const char *  name,
uint32_t  key 
)
protected

Definition at line 394 of file udp_component.cpp.

◆ add_provider()

void esphome::udp::UDPComponent::add_provider ( const char *  hostname)
inline

Definition at line 75 of file udp_component.h.

◆ add_remote_binary_sensor()

void esphome::udp::UDPComponent::add_remote_binary_sensor ( const char *  hostname,
const char *  remote_id,
binary_sensor::BinarySensor sensor 
)
inline

Definition at line 66 of file udp_component.h.

◆ add_remote_sensor()

void esphome::udp::UDPComponent::add_remote_sensor ( const char *  hostname,
const char *  remote_id,
sensor::Sensor sensor 
)
inline

Definition at line 55 of file udp_component.h.

◆ add_sensor()

void esphome::udp::UDPComponent::add_sensor ( const char *  id,
sensor::Sensor sensor 
)
inline

Definition at line 51 of file udp_component.h.

◆ dump_config()

void esphome::udp::UDPComponent::dump_config ( )
overridevirtual

Reimplemented from esphome::Component.

Definition at line 549 of file udp_component.cpp.

◆ flush_()

void esphome::udp::UDPComponent::flush_ ( )
protected

Definition at line 293 of file udp_component.cpp.

◆ get_setup_priority()

float esphome::udp::UDPComponent::get_setup_priority ( ) const
inlineoverridevirtual

Reimplemented from esphome::Component.

Definition at line 73 of file udp_component.h.

◆ increment_code_()

void esphome::udp::UDPComponent::increment_code_ ( )
protected

Definition at line 577 of file udp_component.cpp.

◆ init_data_()

void esphome::udp::UDPComponent::init_data_ ( )
protected

Definition at line 277 of file udp_component.cpp.

◆ is_encrypted_()

bool esphome::udp::UDPComponent::is_encrypted_ ( )
inlineprotected

Definition at line 156 of file udp_component.h.

◆ loop()

void esphome::udp::UDPComponent::loop ( )
overridevirtual

Reimplemented from esphome::Component.

Definition at line 368 of file udp_component.cpp.

◆ process_()

void esphome::udp::UDPComponent::process_ ( uint8_t *  buf,
size_t  len 
)
protected

Process a received packet.

Definition at line 434 of file udp_component.cpp.

◆ process_ping_request_()

void esphome::udp::UDPComponent::process_ping_request_ ( const char *  name,
uint8_t *  ptr,
size_t  len 
)
protected

Definition at line 406 of file udp_component.cpp.

◆ send_data_()

void esphome::udp::UDPComponent::send_data_ ( bool  all)
protected

Definition at line 333 of file udp_component.cpp.

◆ send_packet_()

void esphome::udp::UDPComponent::send_packet_ ( void *  data,
size_t  len 
)
protected

Definition at line 585 of file udp_component.cpp.

◆ send_ping_pong_request_()

void esphome::udp::UDPComponent::send_ping_pong_request_ ( )
protected

Definition at line 606 of file udp_component.cpp.

◆ set_encryption_key()

void esphome::udp::UDPComponent::set_encryption_key ( std::vector< uint8_t >  key)
inline

Definition at line 92 of file udp_component.h.

◆ set_ping_pong_enable()

void esphome::udp::UDPComponent::set_ping_pong_enable ( bool  enable)
inline

Definition at line 94 of file udp_component.h.

◆ set_ping_pong_recycle_time()

void esphome::udp::UDPComponent::set_ping_pong_recycle_time ( uint32_t  recycle_time)
inline

Definition at line 95 of file udp_component.h.

◆ set_port()

void esphome::udp::UDPComponent::set_port ( uint16_t  port)
inline

Definition at line 72 of file udp_component.h.

◆ set_provider_encryption()

void esphome::udp::UDPComponent::set_provider_encryption ( const char *  name,
std::vector< uint8_t >  key 
)
inline

Definition at line 96 of file udp_component.h.

◆ set_rolling_code_enable()

void esphome::udp::UDPComponent::set_rolling_code_enable ( bool  enable)
inline

Definition at line 93 of file udp_component.h.

◆ setup()

void esphome::udp::UDPComponent::setup ( )
overridevirtual

Reimplemented from esphome::Component.

Definition at line 154 of file udp_component.cpp.

◆ update()

void esphome::udp::UDPComponent::update ( )
overridevirtual

Implements esphome::PollingComponent.

Definition at line 358 of file udp_component.cpp.

Field Documentation

◆ addresses_

std::vector<std::string> esphome::udp::UDPComponent::addresses_ {}
protected

Definition at line 135 of file udp_component.h.

◆ binary_sensors_

std::vector<BinarySensor> esphome::udp::UDPComponent::binary_sensors_ {}
protected

Definition at line 142 of file udp_component.h.

◆ broadcast_socket_

std::unique_ptr<socket::Socket> esphome::udp::UDPComponent::broadcast_socket_ = nullptr
protected

Definition at line 126 of file udp_component.h.

◆ data_

std::vector<uint8_t> esphome::udp::UDPComponent::data_ {}
protected

Definition at line 149 of file udp_component.h.

◆ encryption_key_

std::vector<uint8_t> esphome::udp::UDPComponent::encryption_key_ {}
protected

Definition at line 134 of file udp_component.h.

◆ header_

std::vector<uint8_t> esphome::udp::UDPComponent::header_ {}
protected

Definition at line 148 of file udp_component.h.

◆ ipaddrs_

std::vector<IPAddress> esphome::udp::UDPComponent::ipaddrs_ {}
protected

Definition at line 131 of file udp_component.h.

◆ last_key_time_

uint32_t esphome::udp::UDPComponent::last_key_time_ {}
protected

Definition at line 117 of file udp_component.h.

◆ listen_socket_

std::unique_ptr<socket::Socket> esphome::udp::UDPComponent::listen_socket_ = nullptr
protected

Definition at line 127 of file udp_component.h.

◆ name_

const char* esphome::udp::UDPComponent::name_ {}
protected

Definition at line 121 of file udp_component.h.

◆ ping_header_

std::vector<uint8_t> esphome::udp::UDPComponent::ping_header_ {}
protected

Definition at line 147 of file udp_component.h.

◆ ping_key_

uint32_t esphome::udp::UDPComponent::ping_key_ {}
protected

Definition at line 112 of file udp_component.h.

◆ ping_keys_

std::map<const char *, uint32_t> esphome::udp::UDPComponent::ping_keys_ {}
protected

Definition at line 150 of file udp_component.h.

◆ ping_pong_enable_

bool esphome::udp::UDPComponent::ping_pong_enable_ {}
protected

Definition at line 115 of file udp_component.h.

◆ ping_pong_recyle_time_

uint32_t esphome::udp::UDPComponent::ping_pong_recyle_time_ {}
protected

Definition at line 116 of file udp_component.h.

◆ port_

uint16_t esphome::udp::UDPComponent::port_ {18511}
protected

Definition at line 111 of file udp_component.h.

◆ pref_

ESPPreferenceObject esphome::udp::UDPComponent::pref_
protected

Definition at line 123 of file udp_component.h.

◆ providers_

std::map<std::string, Provider> esphome::udp::UDPComponent::providers_ {}
protected

Definition at line 146 of file udp_component.h.

◆ remote_binary_sensors_

std::map<std::string, std::map<std::string, binary_sensor::BinarySensor *> > esphome::udp::UDPComponent::remote_binary_sensors_ {}
protected

Definition at line 143 of file udp_component.h.

◆ remote_sensors_

std::map<std::string, std::map<std::string, sensor::Sensor *> > esphome::udp::UDPComponent::remote_sensors_ {}
protected

Definition at line 139 of file udp_component.h.

◆ resend_data_

bool esphome::udp::UDPComponent::resend_data_ {}
protected

Definition at line 119 of file udp_component.h.

◆ resend_ping_key_

bool esphome::udp::UDPComponent::resend_ping_key_ {}
protected

Definition at line 118 of file udp_component.h.

◆ rolling_code_

uint32_t esphome::udp::UDPComponent::rolling_code_[2] {}
protected

Definition at line 113 of file udp_component.h.

◆ rolling_code_enable_

bool esphome::udp::UDPComponent::rolling_code_enable_ {}
protected

Definition at line 114 of file udp_component.h.

◆ sensors_

std::vector<Sensor> esphome::udp::UDPComponent::sensors_ {}
protected

Definition at line 138 of file udp_component.h.

◆ should_listen_

bool esphome::udp::UDPComponent::should_listen_ {}
protected

Definition at line 122 of file udp_component.h.

◆ should_send_

bool esphome::udp::UDPComponent::should_send_ {}
protected

Definition at line 120 of file udp_component.h.

◆ sockaddrs_

std::vector<struct sockaddr> esphome::udp::UDPComponent::sockaddrs_ {}
protected

Definition at line 128 of file udp_component.h.

◆ udp_client_

WiFiUDP esphome::udp::UDPComponent::udp_client_ {}
protected

Definition at line 132 of file udp_component.h.

◆ updated_

bool esphome::udp::UDPComponent::updated_ {}
protected

Definition at line 110 of file udp_component.h.


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