|
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...
|
|
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...
|
|
|
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...
|
|
Definition at line 36 of file hydreon_rgxx.h.
void esphome::hydreon_rgxx::HydreonRGxxComponent::schedule_reboot_ |
( |
| ) |
|
|
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:
- We check if all requested data has been received before we send out the next request. If data keeps missing, we escalate.
- Request the sensor to reboot. We retry based on a timeout. If the sensor does not respond after several boot attempts, we give up.
Definition at line 140 of file hydreon_rgxx.cpp.