ESPHome 2026.11.0-dev
Loading...
Searching...
No Matches
esphome::haier_water_heater::HonWaterHeater Class Reference

#include <hon_water_heater.h>

Inheritance diagram for esphome::haier_water_heater::HonWaterHeater:
esphome::Component esphome::water_heater::WaterHeater esphome::uart::UARTDevice esphome::EntityBase

Public Member Functions

void setup () override
 
void loop () override
 
void dump_config () override
 
water_heater::WaterHeaterCallInternal make_call () override
 
void set_communication_timeout (uint32_t value)
 
void set_primary_temperature_sensor (sensor::Sensor *value)
 
void set_secondary_temperature_sensor (sensor::Sensor *value)
 
void set_target_temperature_sensor (sensor::Sensor *value)
 
void set_estimated_heating_time_sensor (sensor::Sensor *value)
 
void set_available_water_sensor (sensor::Sensor *value)
 
void set_communication_sensor (binary_sensor::BinarySensor *value)
 
void set_power_sensor (binary_sensor::BinarySensor *value)
 
void set_heating_sensor (binary_sensor::BinarySensor *value)
 
void set_mode_sensor (text_sensor::TextSensor *value)
 
- 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::water_heater::WaterHeater
WaterHeaterMode get_mode () const
 
float get_current_temperature () const
 
float get_target_temperature () const
 
float get_target_temperature_low () const
 
float get_target_temperature_high () const
 
uint32_t get_state () const
 Get the current state flags bitmask.
 
bool is_away () const
 Check if away mode is currently active.
 
bool is_on () const
 Check if the water heater is on.
 
void set_current_temperature (float current_temperature)
 
virtual void publish_state ()
 
virtual WaterHeaterTraits get_traits ()
 
void set_visual_min_temperature_override (float min_temperature_override)
 
void set_visual_max_temperature_override (float max_temperature_override)
 
void set_visual_target_temperature_step_override (float visual_target_temperature_step_override)
 
- Public Member Functions inherited from esphome::EntityBase
const StringRef & get_name () const
 
bool has_own_name () const
 
uint32_t get_object_id_hash () const
 
StringRef get_object_id_to (std::span< char, OBJECT_ID_MAX_LEN > buf) const
 Get object_id with zero heap allocation For static case: returns StringRef to internal storage (buffer unused) For dynamic case: formats into buffer and returns StringRef to buffer.
 
size_t write_object_id_to (char *buf, size_t buf_size) const
 Write object_id directly to buffer, returns length written (excluding null) Useful for building compound strings without intermediate buffer.
 
bool is_internal () const
 
void set_internal (bool internal)
 
bool is_disabled_by_default () const
 
EntityCategory get_entity_category () const
 
const char * get_device_class_to (std::span< char, MAX_DEVICE_CLASS_LENGTH > buffer) const
 
StringRef get_unit_of_measurement_ref () const
 
const char * get_icon_to (std::span< char, MAX_ICON_LENGTH > buffer) const
 
uint32_t get_device_id () const
 
Device * get_device () const
 
bool has_state () const
 
void set_has_state (bool state)
 
 ESPDEPRECATED ("Use make_entity_preference<T>() instead, or preferences won't be migrated. " "See https://github.com/esphome/backlog/issues/85. Will be removed in 2027.1.0.", "2026.7.0") uint32_t get_preference_hash()
 Get a unique hash for storing preferences/settings for this entity.
 
template<typename T >
ESPPreferenceObject make_entity_preference (uint32_t version=0)
 Create a preference object for storing this entity's state/settings.
 
- 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.
 

Protected Types

enum class  Awaiting : uint8_t { AWAITING_NONE , AWAITING_POLL , AWAITING_NETWORK , AWAITING_CONTROL }
 

Protected Member Functions

void control (const water_heater::WaterHeaterCall &call) override
 
water_heater::WaterHeaterTraits traits () override
 
void check_timeouts_ (uint32_t now)
 
void send_pending_ (uint32_t now)
 
void read_frames_ (uint32_t now)
 
void poll_status_ ()
 
void update_network_status_ ()
 
void send_frame_ (water_heater_protocol::FrameType type, const uint8_t *payload=nullptr, size_t size=0)
 
void send_request_ (uint32_t now, Awaiting kind, water_heater_protocol::FrameType type, const uint8_t *payload, size_t size, water_heater_protocol::FrameType expected)
 
void send_next_control_ (uint32_t now)
 
void process_frame_ ()
 
void handle_frame_type_ (water_heater_protocol::FrameType type)
 
void confirm_control_ (const water_heater_protocol::Status &status)
 
void publish_status_ (const water_heater_protocol::Status &status)
 
- 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 Member Functions inherited from esphome::water_heater::WaterHeater
void dump_traits_ (const char *tag)
 Log the traits of this water heater for dump_config().
 
optional< WaterHeaterCall > restore_state_ ()
 Restore the state of the water heater, call this from your setup() method.
 
void set_mode_ (WaterHeaterMode mode)
 Set the mode of the water heater. Should only be called from control().
 
void set_target_temperature_ (float target_temperature)
 Set the target temperature of the water heater. Should only be called from control().
 
void set_target_temperature_low_ (float target_temperature_low)
 Set the low target temperature (for two-point control). Should only be called from control().
 
void set_target_temperature_high_ (float target_temperature_high)
 Set the high target temperature (for two-point control). Should only be called from control().
 
void set_state_ (uint32_t state)
 Set the state flags. Should only be called from control().
 
void set_state_flag_ (uint32_t flag, bool value)
 Set or clear a state flag. Should only be called from control().
 
- Protected Member Functions inherited from esphome::EntityBase
friend void::setup ()
 
friend void::original_setup ()
 
void configure_entity_ (const char *name, uint32_t object_id_hash, uint32_t entity_fields)
 Combined entity setup from codegen: set name, object_id hash, entity string indices, and flags.
 
void set_device_ (Device *device)
 
ESPPreferenceObject make_entity_preference_ (size_t size, uint32_t version)
 Non-template helper for make_entity_preference() to avoid code bloat.
 
void calc_object_id_ ()
 

Protected Attributes

water_heater_protocol::FrameParser parser_
 
sensor::Sensor * primary_sensor_ {nullptr}
 
sensor::Sensor * secondary_sensor_ {nullptr}
 
sensor::Sensor * target_sensor_ {nullptr}
 
sensor::Sensor * heating_time_sensor_ {nullptr}
 
sensor::Sensor * water_sensor_ {nullptr}
 
binary_sensor::BinarySensor * communication_sensor_ {nullptr}
 
binary_sensor::BinarySensor * power_sensor_ {nullptr}
 
binary_sensor::BinarySensor * heating_sensor_ {nullptr}
 
text_sensor::TextSensor * mode_sensor_ {nullptr}
 
uint32_t request_sent_ {0}
 
uint32_t network_sent_ {0}
 
uint32_t last_status_ {0}
 
uint32_t last_byte_ {0}
 
uint32_t communication_timeout_ {20000}
 
water_heater::WaterHeaterMode last_active_mode_ {water_heater::WATER_HEATER_MODE_ELECTRIC}
 
std::array< water_heater_protocol::Command, 4 > commands_ {}
 
water_heater_protocol::HonMode reported_mode_ {water_heater_protocol::HonMode::HON_MODE_UNKNOWN}
 
water_heater_protocol::FrameType expected_type_ {water_heater_protocol::FrameType::FRAME_TYPE_STATUS}
 
Awaiting awaiting_ {Awaiting::AWAITING_NONE}
 
uint8_t network_status_ {NETWORK_NOT_READY}
 
uint8_t command_count_ {0}
 
uint8_t command_index_ {0}
 
uint8_t poll_stage_ {0}
 
bool network_pending_ {true}
 
bool have_status_ {false}
 
bool pending_off_ {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::water_heater::WaterHeater
WaterHeaterMode mode_ {WATER_HEATER_MODE_OFF}
 
float current_temperature_ {NAN}
 
float target_temperature_ {NAN}
 
float target_temperature_low_ {NAN}
 
float target_temperature_high_ {NAN}
 
uint32_t state_ {0}
 
float visual_min_temperature_override_ {NAN}
 
float visual_max_temperature_override_ {NAN}
 
float visual_target_temperature_step_override_ {NAN}
 
ESPPreferenceObject pref_
 
- Protected Attributes inherited from esphome::EntityBase
StringRef name_
 
uint32_t object_id_hash_ {}
 
Device * device_ {}
 
struct esphome::EntityBase::EntityFlags flags_
 
uint8_t device_class_idx_ {}
 
uint8_t uom_idx_ {}
 
uint8_t icon_idx_ {}
 
- Protected Attributes inherited from esphome::uart::UARTDevice
UARTComponent * parent_ {nullptr}
 

Static Protected Attributes

static constexpr uint32_t NETWORK_STATUS_INTERVAL_ID = 0
 
static constexpr uint32_t STATUS_POLL_INTERVAL_ID = 1
 
static constexpr uint32_t NETWORK_STATUS_INTERVAL_MS = 500
 
static constexpr uint32_t POLL_INTERVAL_MS = 5000
 
static constexpr uint32_t RESPONSE_TIMEOUT_MS = 5000
 
static constexpr uint32_t NETWORK_ACK_TIMEOUT_MS = 2000
 
static constexpr uint32_t NETWORK_REFRESH_MS = 30000
 
static constexpr uint32_t CONTROL_STATUS_MAX_AGE_MS = 15000
 
static constexpr uint32_t FRAME_GAP_MS = 300
 
static constexpr uint8_t POLL_CYCLE = 12
 
static constexpr uint8_t MAX_BYTES_PER_LOOP = 255
 
static constexpr uint8_t MIN_TARGET_TEMPERATURE = 35
 
static constexpr uint8_t MAX_TARGET_TEMPERATURE = 75
 
static constexpr uint8_t NETWORK_READY = 0x07
 
static constexpr uint8_t NETWORK_NOT_READY = 0x05
 

Additional Inherited Members

- 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 13 of file hon_water_heater.h.

Member Enumeration Documentation

◆ Awaiting

enum class esphome::haier_water_heater::HonWaterHeater::Awaiting : uint8_t
strongprotected
Enumerator
AWAITING_NONE 
AWAITING_POLL 
AWAITING_NETWORK 
AWAITING_CONTROL 

Definition at line 49 of file hon_water_heater.h.

Member Function Documentation

◆ check_timeouts_()

void esphome::haier_water_heater::HonWaterHeater::check_timeouts_ ( uint32_t now)
protected

Definition at line 87 of file hon_water_heater.cpp.

◆ confirm_control_()

void esphome::haier_water_heater::HonWaterHeater::confirm_control_ ( const water_heater_protocol::Status & status)
protected

Definition at line 211 of file hon_water_heater.cpp.

◆ control()

void esphome::haier_water_heater::HonWaterHeater::control ( const water_heater::WaterHeaterCall & call)
overrideprotectedvirtual

Implements esphome::water_heater::WaterHeater.

Definition at line 341 of file hon_water_heater.cpp.

◆ dump_config()

void esphome::haier_water_heater::HonWaterHeater::dump_config ( )
overridevirtual

Reimplemented from esphome::Component.

Definition at line 306 of file hon_water_heater.cpp.

◆ handle_frame_type_()

void esphome::haier_water_heater::HonWaterHeater::handle_frame_type_ ( water_heater_protocol::FrameType type)
protected

Definition at line 180 of file hon_water_heater.cpp.

◆ loop()

void esphome::haier_water_heater::HonWaterHeater::loop ( )
overridevirtual

Reimplemented from esphome::Component.

Definition at line 173 of file hon_water_heater.cpp.

◆ make_call()

water_heater::WaterHeaterCallInternal esphome::haier_water_heater::HonWaterHeater::make_call ( )
overridevirtual

Implements esphome::water_heater::WaterHeater.

Definition at line 323 of file hon_water_heater.cpp.

◆ poll_status_()

void esphome::haier_water_heater::HonWaterHeater::poll_status_ ( )
protected

Definition at line 64 of file hon_water_heater.cpp.

◆ process_frame_()

void esphome::haier_water_heater::HonWaterHeater::process_frame_ ( )
protected

Definition at line 221 of file hon_water_heater.cpp.

◆ publish_status_()

void esphome::haier_water_heater::HonWaterHeater::publish_status_ ( const water_heater_protocol::Status & status)
protected

Definition at line 257 of file hon_water_heater.cpp.

◆ read_frames_()

void esphome::haier_water_heater::HonWaterHeater::read_frames_ ( uint32_t now)
protected

Definition at line 152 of file hon_water_heater.cpp.

◆ send_frame_()

void esphome::haier_water_heater::HonWaterHeater::send_frame_ ( water_heater_protocol::FrameType type,
const uint8_t * payload = nullptr,
size_t size = 0 )
protected

Definition at line 44 of file hon_water_heater.cpp.

◆ send_next_control_()

void esphome::haier_water_heater::HonWaterHeater::send_next_control_ ( uint32_t now)
protected

Definition at line 145 of file hon_water_heater.cpp.

◆ send_pending_()

void esphome::haier_water_heater::HonWaterHeater::send_pending_ ( uint32_t now)
protected

Definition at line 123 of file hon_water_heater.cpp.

◆ send_request_()

void esphome::haier_water_heater::HonWaterHeater::send_request_ ( uint32_t now,
Awaiting kind,
water_heater_protocol::FrameType type,
const uint8_t * payload,
size_t size,
water_heater_protocol::FrameType expected )
protected

Definition at line 56 of file hon_water_heater.cpp.

◆ set_available_water_sensor()

void esphome::haier_water_heater::HonWaterHeater::set_available_water_sensor ( sensor::Sensor * value)
inline

Definition at line 25 of file hon_water_heater.h.

◆ set_communication_sensor()

void esphome::haier_water_heater::HonWaterHeater::set_communication_sensor ( binary_sensor::BinarySensor * value)
inline

Definition at line 26 of file hon_water_heater.h.

◆ set_communication_timeout()

void esphome::haier_water_heater::HonWaterHeater::set_communication_timeout ( uint32_t value)
inline

Definition at line 20 of file hon_water_heater.h.

◆ set_estimated_heating_time_sensor()

void esphome::haier_water_heater::HonWaterHeater::set_estimated_heating_time_sensor ( sensor::Sensor * value)
inline

Definition at line 24 of file hon_water_heater.h.

◆ set_heating_sensor()

void esphome::haier_water_heater::HonWaterHeater::set_heating_sensor ( binary_sensor::BinarySensor * value)
inline

Definition at line 28 of file hon_water_heater.h.

◆ set_mode_sensor()

void esphome::haier_water_heater::HonWaterHeater::set_mode_sensor ( text_sensor::TextSensor * value)
inline

Definition at line 29 of file hon_water_heater.h.

◆ set_power_sensor()

void esphome::haier_water_heater::HonWaterHeater::set_power_sensor ( binary_sensor::BinarySensor * value)
inline

Definition at line 27 of file hon_water_heater.h.

◆ set_primary_temperature_sensor()

void esphome::haier_water_heater::HonWaterHeater::set_primary_temperature_sensor ( sensor::Sensor * value)
inline

Definition at line 21 of file hon_water_heater.h.

◆ set_secondary_temperature_sensor()

void esphome::haier_water_heater::HonWaterHeater::set_secondary_temperature_sensor ( sensor::Sensor * value)
inline

Definition at line 22 of file hon_water_heater.h.

◆ set_target_temperature_sensor()

void esphome::haier_water_heater::HonWaterHeater::set_target_temperature_sensor ( sensor::Sensor * value)
inline

Definition at line 23 of file hon_water_heater.h.

◆ setup()

void esphome::haier_water_heater::HonWaterHeater::setup ( )
overridevirtual

Reimplemented from esphome::Component.

Definition at line 20 of file hon_water_heater.cpp.

◆ traits()

water_heater::WaterHeaterTraits esphome::haier_water_heater::HonWaterHeater::traits ( )
overrideprotectedvirtual

Implements esphome::water_heater::WaterHeater.

Definition at line 410 of file hon_water_heater.cpp.

◆ update_network_status_()

void esphome::haier_water_heater::HonWaterHeater::update_network_status_ ( )
protected

Definition at line 30 of file hon_water_heater.cpp.

Field Documentation

◆ awaiting_

Awaiting esphome::haier_water_heater::HonWaterHeater::awaiting_ {Awaiting::AWAITING_NONE}
protected

Definition at line 86 of file hon_water_heater.h.

◆ command_count_

uint8_t esphome::haier_water_heater::HonWaterHeater::command_count_ {0}
protected

Definition at line 88 of file hon_water_heater.h.

◆ command_index_

uint8_t esphome::haier_water_heater::HonWaterHeater::command_index_ {0}
protected

Definition at line 89 of file hon_water_heater.h.

◆ commands_

std::array<water_heater_protocol::Command, 4> esphome::haier_water_heater::HonWaterHeater::commands_ {}
protected

Definition at line 83 of file hon_water_heater.h.

◆ communication_sensor_

binary_sensor::BinarySensor* esphome::haier_water_heater::HonWaterHeater::communication_sensor_ {nullptr}
protected

Definition at line 73 of file hon_water_heater.h.

◆ communication_timeout_

uint32_t esphome::haier_water_heater::HonWaterHeater::communication_timeout_ {20000}
protected

Definition at line 81 of file hon_water_heater.h.

◆ CONTROL_STATUS_MAX_AGE_MS

uint32_t esphome::haier_water_heater::HonWaterHeater::CONTROL_STATUS_MAX_AGE_MS = 15000
staticconstexprprotected

Definition at line 39 of file hon_water_heater.h.

◆ expected_type_

water_heater_protocol::FrameType esphome::haier_water_heater::HonWaterHeater::expected_type_ {water_heater_protocol::FrameType::FRAME_TYPE_STATUS}
protected

Definition at line 85 of file hon_water_heater.h.

◆ FRAME_GAP_MS

uint32_t esphome::haier_water_heater::HonWaterHeater::FRAME_GAP_MS = 300
staticconstexprprotected

Definition at line 40 of file hon_water_heater.h.

◆ have_status_

bool esphome::haier_water_heater::HonWaterHeater::have_status_ {false}
protected

Definition at line 92 of file hon_water_heater.h.

◆ heating_sensor_

binary_sensor::BinarySensor* esphome::haier_water_heater::HonWaterHeater::heating_sensor_ {nullptr}
protected

Definition at line 75 of file hon_water_heater.h.

◆ heating_time_sensor_

sensor::Sensor* esphome::haier_water_heater::HonWaterHeater::heating_time_sensor_ {nullptr}
protected

Definition at line 71 of file hon_water_heater.h.

◆ last_active_mode_

water_heater::WaterHeaterMode esphome::haier_water_heater::HonWaterHeater::last_active_mode_ {water_heater::WATER_HEATER_MODE_ELECTRIC}
protected

Definition at line 82 of file hon_water_heater.h.

◆ last_byte_

uint32_t esphome::haier_water_heater::HonWaterHeater::last_byte_ {0}
protected

Definition at line 80 of file hon_water_heater.h.

◆ last_status_

uint32_t esphome::haier_water_heater::HonWaterHeater::last_status_ {0}
protected

Definition at line 79 of file hon_water_heater.h.

◆ MAX_BYTES_PER_LOOP

uint8_t esphome::haier_water_heater::HonWaterHeater::MAX_BYTES_PER_LOOP = 255
staticconstexprprotected

Definition at line 42 of file hon_water_heater.h.

◆ MAX_TARGET_TEMPERATURE

uint8_t esphome::haier_water_heater::HonWaterHeater::MAX_TARGET_TEMPERATURE = 75
staticconstexprprotected

Definition at line 44 of file hon_water_heater.h.

◆ MIN_TARGET_TEMPERATURE

uint8_t esphome::haier_water_heater::HonWaterHeater::MIN_TARGET_TEMPERATURE = 35
staticconstexprprotected

Definition at line 43 of file hon_water_heater.h.

◆ mode_sensor_

text_sensor::TextSensor* esphome::haier_water_heater::HonWaterHeater::mode_sensor_ {nullptr}
protected

Definition at line 76 of file hon_water_heater.h.

◆ NETWORK_ACK_TIMEOUT_MS

uint32_t esphome::haier_water_heater::HonWaterHeater::NETWORK_ACK_TIMEOUT_MS = 2000
staticconstexprprotected

Definition at line 37 of file hon_water_heater.h.

◆ NETWORK_NOT_READY

uint8_t esphome::haier_water_heater::HonWaterHeater::NETWORK_NOT_READY = 0x05
staticconstexprprotected

Definition at line 46 of file hon_water_heater.h.

◆ network_pending_

bool esphome::haier_water_heater::HonWaterHeater::network_pending_ {true}
protected

Definition at line 91 of file hon_water_heater.h.

◆ NETWORK_READY

uint8_t esphome::haier_water_heater::HonWaterHeater::NETWORK_READY = 0x07
staticconstexprprotected

Definition at line 45 of file hon_water_heater.h.

◆ NETWORK_REFRESH_MS

uint32_t esphome::haier_water_heater::HonWaterHeater::NETWORK_REFRESH_MS = 30000
staticconstexprprotected

Definition at line 38 of file hon_water_heater.h.

◆ network_sent_

uint32_t esphome::haier_water_heater::HonWaterHeater::network_sent_ {0}
protected

Definition at line 78 of file hon_water_heater.h.

◆ network_status_

uint8_t esphome::haier_water_heater::HonWaterHeater::network_status_ {NETWORK_NOT_READY}
protected

Definition at line 87 of file hon_water_heater.h.

◆ NETWORK_STATUS_INTERVAL_ID

uint32_t esphome::haier_water_heater::HonWaterHeater::NETWORK_STATUS_INTERVAL_ID = 0
staticconstexprprotected

Definition at line 32 of file hon_water_heater.h.

◆ NETWORK_STATUS_INTERVAL_MS

uint32_t esphome::haier_water_heater::HonWaterHeater::NETWORK_STATUS_INTERVAL_MS = 500
staticconstexprprotected

Definition at line 34 of file hon_water_heater.h.

◆ parser_

water_heater_protocol::FrameParser esphome::haier_water_heater::HonWaterHeater::parser_
protected

Definition at line 67 of file hon_water_heater.h.

◆ pending_off_

bool esphome::haier_water_heater::HonWaterHeater::pending_off_ {false}
protected

Definition at line 93 of file hon_water_heater.h.

◆ POLL_CYCLE

uint8_t esphome::haier_water_heater::HonWaterHeater::POLL_CYCLE = 12
staticconstexprprotected

Definition at line 41 of file hon_water_heater.h.

◆ POLL_INTERVAL_MS

uint32_t esphome::haier_water_heater::HonWaterHeater::POLL_INTERVAL_MS = 5000
staticconstexprprotected

Definition at line 35 of file hon_water_heater.h.

◆ poll_stage_

uint8_t esphome::haier_water_heater::HonWaterHeater::poll_stage_ {0}
protected

Definition at line 90 of file hon_water_heater.h.

◆ power_sensor_

binary_sensor::BinarySensor* esphome::haier_water_heater::HonWaterHeater::power_sensor_ {nullptr}
protected

Definition at line 74 of file hon_water_heater.h.

◆ primary_sensor_

sensor::Sensor* esphome::haier_water_heater::HonWaterHeater::primary_sensor_ {nullptr}
protected

Definition at line 68 of file hon_water_heater.h.

◆ reported_mode_

water_heater_protocol::HonMode esphome::haier_water_heater::HonWaterHeater::reported_mode_ {water_heater_protocol::HonMode::HON_MODE_UNKNOWN}
protected

Definition at line 84 of file hon_water_heater.h.

◆ request_sent_

uint32_t esphome::haier_water_heater::HonWaterHeater::request_sent_ {0}
protected

Definition at line 77 of file hon_water_heater.h.

◆ RESPONSE_TIMEOUT_MS

uint32_t esphome::haier_water_heater::HonWaterHeater::RESPONSE_TIMEOUT_MS = 5000
staticconstexprprotected

Definition at line 36 of file hon_water_heater.h.

◆ secondary_sensor_

sensor::Sensor* esphome::haier_water_heater::HonWaterHeater::secondary_sensor_ {nullptr}
protected

Definition at line 69 of file hon_water_heater.h.

◆ STATUS_POLL_INTERVAL_ID

uint32_t esphome::haier_water_heater::HonWaterHeater::STATUS_POLL_INTERVAL_ID = 1
staticconstexprprotected

Definition at line 33 of file hon_water_heater.h.

◆ target_sensor_

sensor::Sensor* esphome::haier_water_heater::HonWaterHeater::target_sensor_ {nullptr}
protected

Definition at line 70 of file hon_water_heater.h.

◆ water_sensor_

sensor::Sensor* esphome::haier_water_heater::HonWaterHeater::water_sensor_ {nullptr}
protected

Definition at line 72 of file hon_water_heater.h.


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