ESPHome
2025.4.0
|
#include <hydreon_rgxx.h>
Public Member Functions | |
void | set_sensor (sensor::Sensor *sensor, int index) |
void | set_too_cold_sensor (binary_sensor::BinarySensor *sensor) |
void | set_lens_bad_sensor (binary_sensor::BinarySensor *sensor) |
void | set_em_sat_sensor (binary_sensor::BinarySensor *sensor) |
void | set_model (RGModel model) |
void | set_resolution (RG15Resolution resolution) |
void | set_request_temperature (bool b) |
void | update () override |
Schedule data readings. More... | |
void | loop () override |
Read data once available. More... | |
void | setup () override |
Setup the sensor and test for a connection. More... | |
void | dump_config () override |
float | get_setup_priority () const override |
void | set_disable_led (bool disable_led) |
![]() | |
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 () |
![]() | |
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... | |
void | mark_failed (const char *message) |
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... | |
![]() | |
UARTDevice ()=default | |
UARTDevice (UARTComponent *parent) | |
void | set_uart_parent (UARTComponent *parent) |
void | write_byte (uint8_t data) |
void | write_array (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 () |
int | available () |
void | flush () |
int | read () |
size_t | write (uint8_t data) |
int | peek () |
void | check_uart_settings (uint32_t baud_rate, uint8_t stop_bits=1, UARTParityOptions parity=UART_CONFIG_PARITY_NONE, uint8_t data_bits=8) |
Check that the configuration of the UART bus matches the provided values and otherwise print a warning. More... | |
Protected Member Functions | |
void | process_line_ () |
void | schedule_reboot_ () |
Communication with the sensor is asynchronous. More... | |
bool | buffer_starts_with_ (const std::string &prefix) |
bool | buffer_starts_with_ (const char *prefix) |
int | num_sensors_missing_ () |
![]() | |
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 | |
sensor::Sensor * | sensors_ [NUM_SENSORS] = {nullptr} |
binary_sensor::BinarySensor * | too_cold_sensor_ {nullptr} |
binary_sensor::BinarySensor * | lens_bad_sensor_ {nullptr} |
binary_sensor::BinarySensor * | em_sat_sensor_ {nullptr} |
int16_t | boot_count_ = 0 |
int16_t | no_response_count_ = 0 |
std::string | buffer_ |
RGModel | model_ = RG9 |
RG15Resolution | resolution_ = FORCE_HIGH |
int | sw_version_ = 0 |
bool | too_cold_ = false |
bool | lens_bad_ = false |
bool | em_sat_ = false |
bool | request_temperature_ = false |
bool | disable_led_ = false |
int | sensors_received_ = -1 |
![]() | |
uint32_t | update_interval_ |
![]() | |
uint32_t | component_state_ {0x0000} |
State of this component. More... | |
float | setup_priority_override_ {NAN} |
const char * | component_source_ {nullptr} |
std::string | error_message_ {} |
![]() | |
UARTComponent * | parent_ {nullptr} |
Definition at line 36 of file hydreon_rgxx.h.
|
protected |
Definition at line 160 of file hydreon_rgxx.cpp.
|
protected |
Definition at line 164 of file hydreon_rgxx.cpp.
|
overridevirtual |
Reimplemented from esphome::Component.
Definition at line 14 of file hydreon_rgxx.cpp.
|
overridevirtual |
Reimplemented from esphome::Component.
Definition at line 292 of file hydreon_rgxx.cpp.
|
overridevirtual |
Read data once available.
Reimplemented from esphome::Component.
Definition at line 112 of file hydreon_rgxx.cpp.
|
protected |
Definition at line 49 of file hydreon_rgxx.cpp.
|
protected |
Definition at line 166 of file hydreon_rgxx.cpp.
|
protected |
Communication with the sensor is asynchronous.
We send requests and let esphome continue doing its thing. Once we have received a complete line, we process it.
Catching communication failures is done in two layers:
Definition at line 140 of file hydreon_rgxx.cpp.
|
inline |
Definition at line 58 of file hydreon_rgxx.h.
|
inline |
Definition at line 42 of file hydreon_rgxx.h.
|
inline |
Definition at line 41 of file hydreon_rgxx.h.
|
inline |
Definition at line 44 of file hydreon_rgxx.h.
|
inline |
Definition at line 46 of file hydreon_rgxx.h.
|
inline |
Definition at line 45 of file hydreon_rgxx.h.
|
inline |
Definition at line 38 of file hydreon_rgxx.h.
|
inline |
Definition at line 40 of file hydreon_rgxx.h.
|
overridevirtual |
Setup the sensor and test for a connection.
Reimplemented from esphome::Component.
Definition at line 41 of file hydreon_rgxx.cpp.
|
overridevirtual |
Schedule data readings.
Implements esphome::PollingComponent.
Definition at line 66 of file hydreon_rgxx.cpp.
|
protected |
Definition at line 74 of file hydreon_rgxx.h.
|
protected |
Definition at line 76 of file hydreon_rgxx.h.
|
protected |
Definition at line 86 of file hydreon_rgxx.h.
|
protected |
Definition at line 84 of file hydreon_rgxx.h.
|
protected |
Definition at line 71 of file hydreon_rgxx.h.
|
protected |
Definition at line 83 of file hydreon_rgxx.h.
|
protected |
Definition at line 70 of file hydreon_rgxx.h.
Definition at line 78 of file hydreon_rgxx.h.
|
protected |
Definition at line 75 of file hydreon_rgxx.h.
|
protected |
Definition at line 85 of file hydreon_rgxx.h.
|
protected |
Definition at line 79 of file hydreon_rgxx.h.
|
protected |
Definition at line 67 of file hydreon_rgxx.h.
|
protected |
Definition at line 89 of file hydreon_rgxx.h.
|
protected |
Definition at line 81 of file hydreon_rgxx.h.
|
protected |
Definition at line 82 of file hydreon_rgxx.h.
|
protected |
Definition at line 69 of file hydreon_rgxx.h.