15 void setup()
override;
83 std::array<water_heater_protocol::Command, 4>
commands_{};
Base class for all binary_sensor-type classes.
static constexpr uint32_t POLL_INTERVAL_MS
sensor::Sensor * secondary_sensor_
water_heater::WaterHeaterCallInternal make_call() override
void handle_frame_type_(water_heater_protocol::FrameType type)
sensor::Sensor * primary_sensor_
void check_timeouts_(uint32_t now)
static constexpr uint8_t POLL_CYCLE
void update_network_status_()
static constexpr uint32_t NETWORK_STATUS_INTERVAL_ID
static constexpr uint8_t NETWORK_NOT_READY
static constexpr uint32_t NETWORK_REFRESH_MS
binary_sensor::BinarySensor * communication_sensor_
void set_heating_sensor(binary_sensor::BinarySensor *value)
void set_mode_sensor(text_sensor::TextSensor *value)
static constexpr uint32_t STATUS_POLL_INTERVAL_ID
static constexpr uint8_t MAX_BYTES_PER_LOOP
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)
water_heater_protocol::FrameType expected_type_
sensor::Sensor * heating_time_sensor_
static constexpr uint8_t NETWORK_READY
binary_sensor::BinarySensor * heating_sensor_
void publish_status_(const water_heater_protocol::Status &status)
void send_frame_(water_heater_protocol::FrameType type, const uint8_t *payload=nullptr, size_t size=0)
binary_sensor::BinarySensor * power_sensor_
water_heater_protocol::HonMode reported_mode_
static constexpr uint8_t MIN_TARGET_TEMPERATURE
void set_communication_timeout(uint32_t value)
static constexpr uint8_t MAX_TARGET_TEMPERATURE
static constexpr uint32_t RESPONSE_TIMEOUT_MS
static constexpr uint32_t NETWORK_ACK_TIMEOUT_MS
sensor::Sensor * water_sensor_
void read_frames_(uint32_t now)
text_sensor::TextSensor * mode_sensor_
sensor::Sensor * target_sensor_
water_heater::WaterHeaterMode last_active_mode_
void control(const water_heater::WaterHeaterCall &call) override
void set_power_sensor(binary_sensor::BinarySensor *value)
void confirm_control_(const water_heater_protocol::Status &status)
static constexpr uint32_t NETWORK_STATUS_INTERVAL_MS
void set_available_water_sensor(sensor::Sensor *value)
void send_pending_(uint32_t now)
uint32_t communication_timeout_
void set_communication_sensor(binary_sensor::BinarySensor *value)
void set_primary_temperature_sensor(sensor::Sensor *value)
static constexpr uint32_t CONTROL_STATUS_MAX_AGE_MS
static constexpr uint32_t FRAME_GAP_MS
void dump_config() override
water_heater::WaterHeaterTraits traits() override
void send_next_control_(uint32_t now)
water_heater_protocol::FrameParser parser_
std::array< water_heater_protocol::Command, 4 > commands_
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)
Base-class for all sensors.
@ WATER_HEATER_MODE_ELECTRIC