ESPHome 2026.11.0-dev
Loading...
Searching...
No Matches
esphome::dfrobot_sen0609::DFRobotSEN0609Component Class Referencefinal

#include <dfrobot_sen0609.h>

Inheritance diagram for esphome::dfrobot_sen0609::DFRobotSEN0609Component:
esphome::Component esphome::uart::UARTDevice

Protected Member Functions

void readline_ (uint8_t c)
 
void handle_line_ (char *line)
 
void handle_frame_ (char *line)
 
void log_bad_frame_ (const LogString *problem, const char *line)
 
void parse_response_ (const char *args)
 
void queue_configuration_ ()
 
uint16_t wanted_reads_ () const
 
void request_write_ (Param param)
 
void run_sequencer_ ()
 
void check_frames_ (uint32_t now)
 
bool build_command_ (Operation operation, Param param)
 
bool apply_read_ (Param param)
 
void finish_operation_ ()
 
void fail_operation_ ()
 
void hold_ (uint32_t duration_ms)
 
bool is_aux_operation_ () const
 
void publish_number_ (NumberSetting setting, float value)
 
void forget_number_changes_ (Param param, bool unknown)
 
void publish_switch_ (SwitchSetting setting, bool state)
 
void publish_target_ (float distance, float speed, float energy)
 
- 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.
 
virtual void call_setup ()
 
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

Deduplicator< float > distance_dedup_
 
Deduplicator< float > speed_dedup_
 
Deduplicator< float > energy_dedup_
 
std::array< number::Number *, NUMBER_COUNT > numbers_ {}
 
std::array< float, NUMBER_COUNT > number_values_
 
std::array< switch_::Switch *, SWITCH_COUNT > switches_ {}
 
std::array< bool, SWITCH_COUNT > switch_states_ {}
 
char line_ [MAX_LINE_LENGTH]
 
char command_ [MAX_COMMAND_LENGTH] {}
 
float response_ [MAX_RESPONSE_VALUES] {}
 
uint32_t sent_ms_ {0}
 
uint32_t hold_start_ms_ {0}
 
uint32_t hold_ms_ {0}
 
uint32_t last_frame_ms_ {0}
 
uint32_t last_change_ms_ {0}
 
uint32_t deferred_ms_ {0}
 
uint16_t pending_writes_ {0}
 
uint16_t pending_reads_ {0}
 
uint16_t paired_reads_ {0}
 
uint16_t deferred_writes_ {0}
 
uint16_t changed_numbers_ {0}
 
RunMode mode_
 
Operation operation_ {Operation::OPERATION_NONE}
 
Param param_ {PARAM_COUNT}
 
uint8_t line_pos_ {0}
 
uint8_t response_count_ {0}
 
uint8_t out_pin_level_ {0}
 
uint8_t attempts_ {0}
 
uint8_t aux_attempts_ {0}
 
uint8_t led_known_ {0}
 
uint8_t led_on_ {0}
 
bool sent_led_on_ {false}
 
bool line_overflow_ {false}
 
bool read_failed_ {false}
 
bool bad_frame_logged_ {false}
 
bool echo_seen_ {false}
 
bool version_received_ {false}
 
bool stopped_ {false}
 
bool save_pending_ {false}
 
bool deferred_save_ {false}
 
bool restart_pending_ {false}
 
bool factory_reset_pending_ {false}
 
bool sequence_failed_ {false}
 
- 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_
 
- Protected Attributes inherited from esphome::uart::UARTDevice
UARTComponent * parent_ {nullptr}
 

Additional Inherited Members

- Public Member Functions inherited from esphome::Component
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)
 
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)
 
- Public Member Functions inherited from esphome::uart::UARTDevice
 UARTDevice ()=default
 
 UARTDevice (UARTComponent *parent)
 
void set_uart_parent (UARTComponent *parent)
 
void write_byte (uint8_t data)
 
void set_rx_full_threshold (size_t rx_full_threshold)
 
void set_rx_full_threshold_ms (size_t time)
 
size_t get_rx_full_threshold ()
 
void set_rx_timeout (size_t rx_timeout)
 
size_t get_rx_timeout ()
 
void write_array (const uint8_t *data, size_t len)
 
void write_array_progmem (const uint8_t *data, size_t len)
 
void write_array (const std::vector< uint8_t > &data)
 
template<size_t N>
void write_array (const std::array< uint8_t, N > &data)
 
void write_str (const char *str)
 
bool read_byte (uint8_t *data)
 
bool peek_byte (uint8_t *data)
 
bool read_array (uint8_t *data, size_t len)
 
template<size_t N>
optional< std::array< uint8_t, N > > read_array ()
 
size_t available ()
 
UARTFlushResult flush ()
 
int read ()
 
size_t write (uint8_t data)
 
int peek ()
 
 ESPDEPRECATED ("Use uart.final_validate_device_schema() in Python instead. Removed in 2027.3.0", "2026.9.0") void check_uart_settings(uint32_t baud_rate
 Check that the configuration of the UART bus matches the provided values and otherwise print a warning.
 
- Data Fields inherited from esphome::Component
uint32_t length = 5000)
 
- Data Fields inherited from esphome::uart::UARTDevice
uint8_t stop_bits = 1
 
uint8_t UARTParityOptions parity = UART_CONFIG_PARITY_NONE
 
uint8_t UARTParityOptions uint8_t data_bits = 8)
 

Detailed Description

Definition at line 100 of file dfrobot_sen0609.h.

Member Function Documentation

◆ apply_read_()

bool esphome::dfrobot_sen0609::DFRobotSEN0609Component::apply_read_ ( Param param)
protected

Definition at line 757 of file dfrobot_sen0609.cpp.

◆ build_command_()

bool esphome::dfrobot_sen0609::DFRobotSEN0609Component::build_command_ ( Operation operation,
Param param )
protected

Definition at line 655 of file dfrobot_sen0609.cpp.

◆ check_frames_()

void esphome::dfrobot_sen0609::DFRobotSEN0609Component::check_frames_ ( uint32_t now)
protected

Definition at line 423 of file dfrobot_sen0609.cpp.

◆ fail_operation_()

void esphome::dfrobot_sen0609::DFRobotSEN0609Component::fail_operation_ ( )
protected

Definition at line 892 of file dfrobot_sen0609.cpp.

◆ finish_operation_()

void esphome::dfrobot_sen0609::DFRobotSEN0609Component::finish_operation_ ( )
protected

Definition at line 833 of file dfrobot_sen0609.cpp.

◆ forget_number_changes_()

void esphome::dfrobot_sen0609::DFRobotSEN0609Component::forget_number_changes_ ( Param param,
bool unknown )
protected

Definition at line 485 of file dfrobot_sen0609.cpp.

◆ handle_frame_()

void esphome::dfrobot_sen0609::DFRobotSEN0609Component::handle_frame_ ( char * line)
protected

Definition at line 291 of file dfrobot_sen0609.cpp.

◆ handle_line_()

void esphome::dfrobot_sen0609::DFRobotSEN0609Component::handle_line_ ( char * line)
protected

Definition at line 240 of file dfrobot_sen0609.cpp.

◆ hold_()

void esphome::dfrobot_sen0609::DFRobotSEN0609Component::hold_ ( uint32_t duration_ms)
protected

Definition at line 533 of file dfrobot_sen0609.cpp.

◆ is_aux_operation_()

bool esphome::dfrobot_sen0609::DFRobotSEN0609Component::is_aux_operation_ ( ) const
inlineprotected

Definition at line 164 of file dfrobot_sen0609.h.

◆ log_bad_frame_()

void esphome::dfrobot_sen0609::DFRobotSEN0609Component::log_bad_frame_ ( const LogString * problem,
const char * line )
protected

Definition at line 347 of file dfrobot_sen0609.cpp.

◆ parse_response_()

void esphome::dfrobot_sen0609::DFRobotSEN0609Component::parse_response_ ( const char * args)
protected

Definition at line 370 of file dfrobot_sen0609.cpp.

◆ publish_number_()

void esphome::dfrobot_sen0609::DFRobotSEN0609Component::publish_number_ ( NumberSetting setting,
float value )
protected

Definition at line 495 of file dfrobot_sen0609.cpp.

◆ publish_switch_()

void esphome::dfrobot_sen0609::DFRobotSEN0609Component::publish_switch_ ( SwitchSetting setting,
bool state )
protected

Definition at line 518 of file dfrobot_sen0609.cpp.

◆ publish_target_()

void esphome::dfrobot_sen0609::DFRobotSEN0609Component::publish_target_ ( float distance,
float speed,
float energy )
protected

Definition at line 363 of file dfrobot_sen0609.cpp.

◆ queue_configuration_()

void esphome::dfrobot_sen0609::DFRobotSEN0609Component::queue_configuration_ ( )
protected

Definition at line 383 of file dfrobot_sen0609.cpp.

◆ readline_()

void esphome::dfrobot_sen0609::DFRobotSEN0609Component::readline_ ( uint8_t c)
protected

Definition at line 212 of file dfrobot_sen0609.cpp.

◆ request_write_()

void esphome::dfrobot_sen0609::DFRobotSEN0609Component::request_write_ ( Param param)
protected

Definition at line 438 of file dfrobot_sen0609.cpp.

◆ run_sequencer_()

void esphome::dfrobot_sen0609::DFRobotSEN0609Component::run_sequencer_ ( )
protected

Definition at line 538 of file dfrobot_sen0609.cpp.

◆ wanted_reads_()

uint16_t esphome::dfrobot_sen0609::DFRobotSEN0609Component::wanted_reads_ ( ) const
protected

Definition at line 398 of file dfrobot_sen0609.cpp.

Field Documentation

◆ attempts_

uint8_t esphome::dfrobot_sen0609::DFRobotSEN0609Component::attempts_ {0}
protected

Definition at line 216 of file dfrobot_sen0609.h.

◆ aux_attempts_

uint8_t esphome::dfrobot_sen0609::DFRobotSEN0609Component::aux_attempts_ {0}
protected

Definition at line 217 of file dfrobot_sen0609.h.

◆ bad_frame_logged_

bool esphome::dfrobot_sen0609::DFRobotSEN0609Component::bad_frame_logged_ {false}
protected

Definition at line 226 of file dfrobot_sen0609.h.

◆ changed_numbers_

uint16_t esphome::dfrobot_sen0609::DFRobotSEN0609Component::changed_numbers_ {0}
protected

Definition at line 208 of file dfrobot_sen0609.h.

◆ command_

char esphome::dfrobot_sen0609::DFRobotSEN0609Component::command_[MAX_COMMAND_LENGTH] {}
protected

Definition at line 192 of file dfrobot_sen0609.h.

◆ deferred_ms_

uint32_t esphome::dfrobot_sen0609::DFRobotSEN0609Component::deferred_ms_ {0}
protected

Definition at line 199 of file dfrobot_sen0609.h.

◆ deferred_save_

bool esphome::dfrobot_sen0609::DFRobotSEN0609Component::deferred_save_ {false}
protected

Definition at line 231 of file dfrobot_sen0609.h.

◆ deferred_writes_

uint16_t esphome::dfrobot_sen0609::DFRobotSEN0609Component::deferred_writes_ {0}
protected

Definition at line 205 of file dfrobot_sen0609.h.

◆ distance_dedup_

Deduplicator<float> esphome::dfrobot_sen0609::DFRobotSEN0609Component::distance_dedup_
protected

Definition at line 177 of file dfrobot_sen0609.h.

◆ echo_seen_

bool esphome::dfrobot_sen0609::DFRobotSEN0609Component::echo_seen_ {false}
protected

Definition at line 227 of file dfrobot_sen0609.h.

◆ energy_dedup_

Deduplicator<float> esphome::dfrobot_sen0609::DFRobotSEN0609Component::energy_dedup_
protected

Definition at line 179 of file dfrobot_sen0609.h.

◆ factory_reset_pending_

bool esphome::dfrobot_sen0609::DFRobotSEN0609Component::factory_reset_pending_ {false}
protected

Definition at line 233 of file dfrobot_sen0609.h.

◆ hold_ms_

uint32_t esphome::dfrobot_sen0609::DFRobotSEN0609Component::hold_ms_ {0}
protected

Definition at line 196 of file dfrobot_sen0609.h.

◆ hold_start_ms_

uint32_t esphome::dfrobot_sen0609::DFRobotSEN0609Component::hold_start_ms_ {0}
protected

Definition at line 195 of file dfrobot_sen0609.h.

◆ last_change_ms_

uint32_t esphome::dfrobot_sen0609::DFRobotSEN0609Component::last_change_ms_ {0}
protected

Definition at line 198 of file dfrobot_sen0609.h.

◆ last_frame_ms_

uint32_t esphome::dfrobot_sen0609::DFRobotSEN0609Component::last_frame_ms_ {0}
protected

Definition at line 197 of file dfrobot_sen0609.h.

◆ led_known_

uint8_t esphome::dfrobot_sen0609::DFRobotSEN0609Component::led_known_ {0}
protected

Definition at line 220 of file dfrobot_sen0609.h.

◆ led_on_

uint8_t esphome::dfrobot_sen0609::DFRobotSEN0609Component::led_on_ {0}
protected

Definition at line 221 of file dfrobot_sen0609.h.

◆ line_

char esphome::dfrobot_sen0609::DFRobotSEN0609Component::line_[MAX_LINE_LENGTH]
protected

Definition at line 191 of file dfrobot_sen0609.h.

◆ line_overflow_

bool esphome::dfrobot_sen0609::DFRobotSEN0609Component::line_overflow_ {false}
protected

Definition at line 224 of file dfrobot_sen0609.h.

◆ line_pos_

uint8_t esphome::dfrobot_sen0609::DFRobotSEN0609Component::line_pos_ {0}
protected

Definition at line 213 of file dfrobot_sen0609.h.

◆ mode_

RunMode esphome::dfrobot_sen0609::DFRobotSEN0609Component::mode_
protected

Definition at line 210 of file dfrobot_sen0609.h.

◆ number_values_

std::array<float, NUMBER_COUNT> esphome::dfrobot_sen0609::DFRobotSEN0609Component::number_values_
protected

Definition at line 184 of file dfrobot_sen0609.h.

◆ numbers_

std::array<number::Number *, NUMBER_COUNT> esphome::dfrobot_sen0609::DFRobotSEN0609Component::numbers_ {}
protected

Definition at line 183 of file dfrobot_sen0609.h.

◆ operation_

Operation esphome::dfrobot_sen0609::DFRobotSEN0609Component::operation_ {Operation::OPERATION_NONE}
protected

Definition at line 211 of file dfrobot_sen0609.h.

◆ out_pin_level_

uint8_t esphome::dfrobot_sen0609::DFRobotSEN0609Component::out_pin_level_ {0}
protected

Definition at line 215 of file dfrobot_sen0609.h.

◆ paired_reads_

uint16_t esphome::dfrobot_sen0609::DFRobotSEN0609Component::paired_reads_ {0}
protected

Definition at line 203 of file dfrobot_sen0609.h.

◆ param_

Param esphome::dfrobot_sen0609::DFRobotSEN0609Component::param_ {PARAM_COUNT}
protected

Definition at line 212 of file dfrobot_sen0609.h.

◆ pending_reads_

uint16_t esphome::dfrobot_sen0609::DFRobotSEN0609Component::pending_reads_ {0}
protected

Definition at line 201 of file dfrobot_sen0609.h.

◆ pending_writes_

uint16_t esphome::dfrobot_sen0609::DFRobotSEN0609Component::pending_writes_ {0}
protected

Definition at line 200 of file dfrobot_sen0609.h.

◆ read_failed_

bool esphome::dfrobot_sen0609::DFRobotSEN0609Component::read_failed_ {false}
protected

Definition at line 225 of file dfrobot_sen0609.h.

◆ response_

float esphome::dfrobot_sen0609::DFRobotSEN0609Component::response_[MAX_RESPONSE_VALUES] {}
protected

Definition at line 193 of file dfrobot_sen0609.h.

◆ response_count_

uint8_t esphome::dfrobot_sen0609::DFRobotSEN0609Component::response_count_ {0}
protected

Definition at line 214 of file dfrobot_sen0609.h.

◆ restart_pending_

bool esphome::dfrobot_sen0609::DFRobotSEN0609Component::restart_pending_ {false}
protected

Definition at line 232 of file dfrobot_sen0609.h.

◆ save_pending_

bool esphome::dfrobot_sen0609::DFRobotSEN0609Component::save_pending_ {false}
protected

Definition at line 230 of file dfrobot_sen0609.h.

◆ sent_led_on_

bool esphome::dfrobot_sen0609::DFRobotSEN0609Component::sent_led_on_ {false}
protected

Definition at line 222 of file dfrobot_sen0609.h.

◆ sent_ms_

uint32_t esphome::dfrobot_sen0609::DFRobotSEN0609Component::sent_ms_ {0}
protected

Definition at line 194 of file dfrobot_sen0609.h.

◆ sequence_failed_

bool esphome::dfrobot_sen0609::DFRobotSEN0609Component::sequence_failed_ {false}
protected

Definition at line 234 of file dfrobot_sen0609.h.

◆ speed_dedup_

Deduplicator<float> esphome::dfrobot_sen0609::DFRobotSEN0609Component::speed_dedup_
protected

Definition at line 178 of file dfrobot_sen0609.h.

◆ stopped_

bool esphome::dfrobot_sen0609::DFRobotSEN0609Component::stopped_ {false}
protected

Definition at line 229 of file dfrobot_sen0609.h.

◆ switch_states_

std::array<bool, SWITCH_COUNT> esphome::dfrobot_sen0609::DFRobotSEN0609Component::switch_states_ {}
protected

Definition at line 188 of file dfrobot_sen0609.h.

◆ switches_

std::array<switch_::Switch *, SWITCH_COUNT> esphome::dfrobot_sen0609::DFRobotSEN0609Component::switches_ {}
protected

Definition at line 187 of file dfrobot_sen0609.h.

◆ version_received_

bool esphome::dfrobot_sen0609::DFRobotSEN0609Component::version_received_ {false}
protected

Definition at line 228 of file dfrobot_sen0609.h.


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