ESPHome 2026.11.0-dev
Loading...
Searching...
No Matches
esphome::delta_wallbox::DeltaWallbox Class Reference

#include <delta_wallbox.h>

Inheritance diagram for esphome::delta_wallbox::DeltaWallbox:
esphome::ble_client::BLEClientNode esphome::PollingComponent esphome::Component

Public Member Functions

 DeltaWallbox (const char *user, const char *password)
 
void update () override
 
void gattc_event_handler (esp_gattc_cb_event_t event, esp_gatt_if_t gattc_if, esp_ble_gattc_cb_param_t *param) override
 
void gap_event_handler (esp_gap_ble_cb_event_t event, esp_ble_gap_cb_param_t *param) override
 
void dump_config () override
 
void set_pin (uint32_t pin)
 
void set_time_id (time::RealTimeClock *time_id)
 
 SUB_SENSOR (power) SUB_SENSOR(energy) SUB_SENSOR(charging_time) SUB_SENSOR(charger_state) SUB_SENSOR(max_current) SUB_TEXT_SENSOR(serial_number) SUB_TEXT_SENSOR(fw_version) SUB_TEXT_SENSOR(bt_fw_version) SUB_TEXT_SENSOR(model_name) SUB_TEXT_SENSOR(error_code) void set_charging_state(bool state)
 
void start_charging ()
 
void stop_charging ()
 
bool is_connected ()
 
- Public Member Functions inherited from esphome::ble_client::BLEClientNode
virtual void loop ()
 
void set_address (uint64_t address)
 
BLEClient * parent ()
 
void set_ble_client_parent (BLEClient *parent)
 
- Public Member Functions inherited from esphome::PollingComponent
 PollingComponent ()
 
 PollingComponent (uint32_t update_interval)
 Initialize this polling component with the given update interval in ms.
 
void set_update_interval (uint32_t update_interval)
 Manually set the update interval in ms for this polling object.
 
void call_setup () override
 
virtual uint32_t get_update_interval () const
 Get the update interval in ms of this sensor.
 
void start_poller ()
 
void stop_poller ()
 
- Public Member Functions inherited from esphome::Component
virtual void setup ()
 Where the component's initialization should happen.
 
virtual void loop ()
 This method will be called repeatedly.
 
virtual float get_setup_priority () const
 priority of setup().
 
float get_actual_setup_priority () const
 
void set_setup_priority (float priority)
 
void call ()
 
virtual void on_shutdown ()
 
virtual void on_safe_shutdown ()
 
virtual bool teardown ()
 Called during teardown to allow component to gracefully finish operations.
 
virtual void on_powerdown ()
 Called after teardown is complete to power down hardware.
 
uint8_t get_component_state () const
 
void reset_to_construction_state ()
 Reset this component back to the construction state to allow setup to run again.
 
bool is_in_loop_state () const
 Check if this component has completed setup and is in the loop state.
 
bool is_idle () const
 Check if this component is idle.
 
void mark_failed ()
 Mark this component as failed.
 
void mark_failed (const LogString *message)
 
void disable_loop ()
 Disable this component's loop.
 
void enable_loop ()
 Enable this component's loop.
 
void enable_loop_soon_any_context ()
 Thread and ISR-safe version of enable_loop() that can be called from any context.
 
bool is_failed () const
 
bool is_ready () const
 
virtual bool can_proceed ()
 
bool status_has_warning () const
 
bool status_has_error () const
 
void status_set_warning ()
 
void status_set_warning (const char *message)
 
void status_set_warning (const LogString *message)
 
bool status_comm_result (bool ok)
 Clears the warning when ok, else sets it with message (default "Communication failed"); returns ok.
 
bool status_comm_result (bool ok, const LogString *message)
 
void status_set_error ()
 
void status_set_error (const LogString *message)
 
void status_clear_warning ()
 
void status_clear_error ()
 
 ESPDEPRECATED ("Use status_momentary_warning() without a name. Removed in 2027.5.0", "2026.11.0") void status_momentary_warning(const char *name
 
void status_momentary_warning (uint32_t length=5000)
 Set warning status flag and clear it after length ms.
 
void status_momentary_warning (const LogString *message, uint32_t length=5000)
 
 ESPDEPRECATED ("Use status_momentary_error() without a name. Removed in 2027.5.0", "2026.11.0") void status_momentary_error(const char *name
 
void status_momentary_error (uint32_t length=5000)
 Set error status flag and clear it after length ms.
 
void status_momentary_error (const LogString *message, uint32_t length=5000)
 
bool has_overridden_loop () const
 
const LogString * get_component_log_str () const ESPHOME_ALWAYS_INLINE
 Get the integration where this component was declared as a LogString for logging.
 
bool should_warn_of_blocking (uint32_t blocking_time, uint32_t &threshold_ms_out)
 

Protected Member Functions

void write_frame_ (const uint8_t *frame, size_t len)
 
void send_frame_ (const uint8_t *body, size_t len)
 
void send_next_state_command_ ()
 
void retransmit_ ()
 
void advance_to_ (DeltaState next)
 
void handle_frame_ (const uint8_t *frame, size_t len)
 
void drop_rx_bytes_ (size_t count)
 
void reset_state_ ()
 
void halt_ (const LogString *reason)
 
- Protected Member Functions inherited from esphome::Component
friend void::setup ()
 
friend void::original_setup ()
 
void set_component_source_ (uint8_t index)
 Set where this component was loaded from for some debug messages.
 
void call_dump_config_ ()
 
void enable_loop_slow_path_ ()
 
void set_component_state_ (uint8_t state)
 Helper to set component state (clears state bits and sets new state)
 
bool set_status_flag_ (uint8_t flag)
 Helper to set a status LED flag on both this component and the app.
 
bool set_error_flag_ (const LogString *message)
 Set the error flag and log it; true when it was not set before.
 
void set_interval (const char *name, uint32_t interval, std::function< void()> &&f)
 Set an interval function with a const char* name.
 
void set_interval (uint32_t id, uint32_t interval, std::function< void()> &&f)
 Set an interval function with a numeric ID (zero heap allocation).
 
void set_interval (InternalSchedulerID id, uint32_t interval, std::function< void()> &&f)
 
void set_interval (uint32_t interval, std::function< void()> &&f)
 
bool cancel_interval (const char *name)
 Cancel an interval function.
 
bool cancel_interval (uint32_t id)
 
bool cancel_interval (InternalSchedulerID id)
 
void set_timeout (const char *name, uint32_t timeout, std::function< void()> &&f)
 Set a timeout function with a const char* name.
 
void set_timeout (uint32_t id, uint32_t timeout, std::function< void()> &&f)
 Set a timeout function with a numeric ID (zero heap allocation).
 
void set_timeout (InternalSchedulerID id, uint32_t timeout, std::function< void()> &&f)
 
void set_timeout (uint32_t timeout, std::function< void()> &&f)
 
bool cancel_timeout (const char *name)
 Cancel a timeout function.
 
bool cancel_timeout (uint32_t id)
 
bool cancel_timeout (InternalSchedulerID id)
 
void defer (const char *name, std::function< void()> &&f)
 Defer a callback to the next loop() call with a const char* name.
 
void defer (std::function< void()> &&f)
 Defer a callback to the next loop() call.
 
void defer (uint32_t id, std::function< void()> &&f)
 Defer a callback with a numeric ID (zero heap allocation)
 
bool cancel_defer (const char *name)
 Cancel a defer callback using the specified name, name must not be empty.
 
bool cancel_defer (uint32_t id)
 
void status_clear_warning_slow_path_ ()
 
void status_clear_error_slow_path_ ()
 

Protected Attributes

StringRef user_
 
StringRef password_
 
uint32_t pin_ {0}
 
time::RealTimeClock * time_id_ {nullptr}
 
size_t rx_len_ {0}
 
uint16_t rx_char_handle_ {0}
 
uint16_t tx_char_handle_ {0}
 
DeltaState state_ {DeltaState::DELTA_STATE_IDLE}
 
uint8_t pairing_attempts_ {0}
 
bool has_pin_ {false}
 
bool pairing_in_progress_ {false}
 
std::array< uint8_t, MAX_FRAME_LEN > rx_buffer_ {}
 
- Protected Attributes inherited from esphome::ble_client::BLEClientNode
BLEClient * parent_
 
uint64_t address_
 
- Protected Attributes inherited from esphome::PollingComponent
uint32_t update_interval_
 
- Protected Attributes inherited from esphome::Component
uint8_t component_source_index_ {0}
 Index into component source PROGMEM lookup table (0 = not set)
 
uint8_t warn_if_blocking_over_ {WARN_IF_BLOCKING_OVER_CS}
 Warn threshold in centiseconds (max 2550ms)
 
uint8_t component_state_ {0x00}
 State of this component - each bit has a purpose: Bits 0-2: Component state (0x00=CONSTRUCTION, 0x01=SETUP, 0x02=LOOP, 0x03=FAILED, 0x04=LOOP_DONE) Bit 3: STATUS_LED_WARNING Bit 4: STATUS_LED_ERROR Bit 5: Has overridden loop() (set at registration time) Bits 6-7: Unused - reserved for future expansion.
 
volatile bool pending_enable_loop_ {false}
 ISR-safe flag for enable_loop_soon_any_context.
 
ComponentRuntimeStats runtime_stats_
 

Additional Inherited Members

- Data Fields inherited from esphome::ble_client::BLEClientNode
espbt::ESPBTClient * client
 
espbt::ClientState node_state
 
- Data Fields inherited from esphome::Component
uint32_t length = 5000)
 

Detailed Description

Definition at line 37 of file delta_wallbox.h.

Constructor & Destructor Documentation

◆ DeltaWallbox()

esphome::delta_wallbox::DeltaWallbox::DeltaWallbox ( const char * user,
const char * password )
inline

Definition at line 39 of file delta_wallbox.h.

Member Function Documentation

◆ advance_to_()

void esphome::delta_wallbox::DeltaWallbox::advance_to_ ( DeltaState next)
protected

Definition at line 274 of file delta_wallbox.cpp.

◆ drop_rx_bytes_()

void esphome::delta_wallbox::DeltaWallbox::drop_rx_bytes_ ( size_t count)
protected

Definition at line 192 of file delta_wallbox.cpp.

◆ dump_config()

void esphome::delta_wallbox::DeltaWallbox::dump_config ( )
overridevirtual

Reimplemented from esphome::Component.

Definition at line 154 of file delta_wallbox.cpp.

◆ gap_event_handler()

void esphome::delta_wallbox::DeltaWallbox::gap_event_handler ( esp_gap_ble_cb_event_t event,
esp_ble_gap_cb_param_t * param )
overridevirtual

Reimplemented from esphome::ble_client::BLEClientNode.

Definition at line 648 of file delta_wallbox.cpp.

◆ gattc_event_handler()

void esphome::delta_wallbox::DeltaWallbox::gattc_event_handler ( esp_gattc_cb_event_t event,
esp_gatt_if_t gattc_if,
esp_ble_gattc_cb_param_t * param )
overridevirtual

Reimplemented from esphome::ble_client::BLEClientNode.

Definition at line 540 of file delta_wallbox.cpp.

◆ halt_()

void esphome::delta_wallbox::DeltaWallbox::halt_ ( const LogString * reason)
protected

Definition at line 511 of file delta_wallbox.cpp.

◆ handle_frame_()

void esphome::delta_wallbox::DeltaWallbox::handle_frame_ ( const uint8_t * frame,
size_t len )
protected

Definition at line 281 of file delta_wallbox.cpp.

◆ is_connected()

bool esphome::delta_wallbox::DeltaWallbox::is_connected ( )
inline

Definition at line 68 of file delta_wallbox.h.

◆ reset_state_()

void esphome::delta_wallbox::DeltaWallbox::reset_state_ ( )
protected

Definition at line 499 of file delta_wallbox.cpp.

◆ retransmit_()

void esphome::delta_wallbox::DeltaWallbox::retransmit_ ( )
protected

Definition at line 268 of file delta_wallbox.cpp.

◆ send_frame_()

void esphome::delta_wallbox::DeltaWallbox::send_frame_ ( const uint8_t * body,
size_t len )
protected

Definition at line 186 of file delta_wallbox.cpp.

◆ send_next_state_command_()

void esphome::delta_wallbox::DeltaWallbox::send_next_state_command_ ( )
protected

Definition at line 198 of file delta_wallbox.cpp.

◆ set_pin()

void esphome::delta_wallbox::DeltaWallbox::set_pin ( uint32_t pin)
inline

Definition at line 46 of file delta_wallbox.h.

◆ set_time_id()

void esphome::delta_wallbox::DeltaWallbox::set_time_id ( time::RealTimeClock * time_id)
inline

Definition at line 51 of file delta_wallbox.h.

◆ start_charging()

void esphome::delta_wallbox::DeltaWallbox::start_charging ( )

Definition at line 536 of file delta_wallbox.cpp.

◆ stop_charging()

void esphome::delta_wallbox::DeltaWallbox::stop_charging ( )

Definition at line 538 of file delta_wallbox.cpp.

◆ SUB_SENSOR()

esphome::delta_wallbox::DeltaWallbox::SUB_SENSOR ( power )

◆ update()

void esphome::delta_wallbox::DeltaWallbox::update ( )
overridevirtual

Implements esphome::PollingComponent.

Definition at line 161 of file delta_wallbox.cpp.

◆ write_frame_()

void esphome::delta_wallbox::DeltaWallbox::write_frame_ ( const uint8_t * frame,
size_t len )
protected

Definition at line 169 of file delta_wallbox.cpp.

Field Documentation

◆ has_pin_

bool esphome::delta_wallbox::DeltaWallbox::has_pin_ {false}
protected

Definition at line 98 of file delta_wallbox.h.

◆ pairing_attempts_

uint8_t esphome::delta_wallbox::DeltaWallbox::pairing_attempts_ {0}
protected

Definition at line 97 of file delta_wallbox.h.

◆ pairing_in_progress_

bool esphome::delta_wallbox::DeltaWallbox::pairing_in_progress_ {false}
protected

Definition at line 99 of file delta_wallbox.h.

◆ password_

StringRef esphome::delta_wallbox::DeltaWallbox::password_
protected

Definition at line 87 of file delta_wallbox.h.

◆ pin_

uint32_t esphome::delta_wallbox::DeltaWallbox::pin_ {0}
protected

Definition at line 88 of file delta_wallbox.h.

◆ rx_buffer_

std::array<uint8_t, MAX_FRAME_LEN> esphome::delta_wallbox::DeltaWallbox::rx_buffer_ {}
protected

Definition at line 100 of file delta_wallbox.h.

◆ rx_char_handle_

uint16_t esphome::delta_wallbox::DeltaWallbox::rx_char_handle_ {0}
protected

Definition at line 94 of file delta_wallbox.h.

◆ rx_len_

size_t esphome::delta_wallbox::DeltaWallbox::rx_len_ {0}
protected

Definition at line 92 of file delta_wallbox.h.

◆ state_

DeltaState esphome::delta_wallbox::DeltaWallbox::state_ {DeltaState::DELTA_STATE_IDLE}
protected

Definition at line 96 of file delta_wallbox.h.

◆ time_id_

time::RealTimeClock* esphome::delta_wallbox::DeltaWallbox::time_id_ {nullptr}
protected

Definition at line 90 of file delta_wallbox.h.

◆ tx_char_handle_

uint16_t esphome::delta_wallbox::DeltaWallbox::tx_char_handle_ {0}
protected

Definition at line 95 of file delta_wallbox.h.

◆ user_

StringRef esphome::delta_wallbox::DeltaWallbox::user_
protected

Definition at line 86 of file delta_wallbox.h.


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